当前位置:编程学习 > C#/ASP.NET >>

窗体间的访问

我有窗体Form2和Form3都是主窗体Form1已经打开的窗口,请问怎样才能在Form2中访问修改Form3中的函数或控件属性
--------------------编程问答-------------------- 你控件有个属性叫Modifiers设置成Internal就可以了
--------------------编程问答-------------------- 访问FORM3中的函数,
Form3 frm=new Form3();
frm.abc();//调用from3的abc函数.


调用Form3窗体控件:
Button btn =Application.OpenForms["Form3"].Controls["button1"] as Button;
if(btn!=null)
   btn.Text="abc";
--------------------编程问答-------------------- 楼上的朋友,只能访问函数不能访问控件?
btn 取出来的为空
--------------------编程问答-------------------- //Form3中label1的值为123

Form3 F = new Form3();
MessageBox.Show(F.label1.Text);    //123
F.label1.Text = "321";
MessageBox.Show(F.label1.Text);    //321

//label1的值修改了但没有显示出来.
//?????????????? --------------------编程问答-------------------- 传递窗口引用, --------------------编程问答-------------------- 能给个例子吗? --------------------编程问答--------------------
引用 3 楼 txpcool 的回复:
楼上的朋友,只能访问函数不能访问控件? 
btn 取出来的为空 


首先要确定Button控件的父容器,上面的代码假设Button的父容器为form3

而如果它的父容器不是form3,例如是groupbox1,则应该是:
Button btn =Application.OpenForms["Form3"].Controls["groupBox1"].Controls["button1"] as Button; 
if(btn!=null) 
  btn.Text="abc"; 
--------------------编程问答-------------------- 关于这个问题比较经典,楼主可以参考这里的文章,
http://blog.csdn.net/zhzuo/archive/2006/05/05/708941.aspx
http://blog.csdn.net/zhzuo/archive/2004/04/05/22027.aspx
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,