日期:2014-05-17  浏览次数:20943 次

C#怎么在外部类调用form1的控件
在class1.cs上
        public void line_ping(object obj)
        {


            int i = Convert.ToInt32(obj);
            Ping pp = new Ping();

            PingReply ppResult = pp.Send(Convert.ToString(chezhan_ip.Rows[i].Cells[1].Value), 10);

            
            
            chezhan_ip.Rows[i].Cells[2].Value = ppResult.RoundtripTime.ToString();
            chezhan_ip.Rows[i].Cells[3].Value = ppResult.Status.ToString();
            chezhan_ip.Rows[i].Cells[4].Value = ping_click;
        }


在chezhan_ip上出现当前上下文上不存在此名称。。。。
求指导怎么在外部类上调用form1的各个控件的名称并使用。

------解决方案--------------------
public void line_ping(object obj,XXX chezhan_ip)
------解决方案--------------------
最简单的办法就是把当前form1当参数传递过去,可以操作窗体的任何控件,牛人可能会有更完美的解决办法
public void line_ping(Form1 form1,object obj) 

调用的时候使用
line_ping(this,obj) 

------解决方案--------------------
你可以在你的class1.cs增加一个属性
public DataGridView chezhan_ip{ set; get; }

窗体要用的时候先赋值再调用方法,类似
class1.chezhan_ip=chezhan_ip;
class1.line_ping(obj);