在c#中怎么能在一个窗口中设置另一个窗口控件的属性?急急急!!!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在c#中怎么能在一个窗口中设置另一个窗口控件的属性?急急急!!!相关的知识,希望对你有一定的参考价值。
现在的问题是,我有两个窗体,一个main窗体,一个login窗体:login窗体中设置main窗体中的菜单控件menustrip的enable 属性为false
我该怎么做???急急急...
最好有示范代码。。。本人菜鸟。。。。谢谢啊..
2、用构造函数,例如在login窗体中:
Menustrip menu1=new Menustrip();
public loginfrm(Menustrip menu2)
InitializeComponent();
menu1=menu2;
3、用委托
main窗体中:
public bool menuEnable
getreturn menustrip.enable;
set(menustrip.enable=value;)
login窗体中:
mainfrm.menuEnable=false;追问
你这123写的是步骤还是有三种方法啊?我没看懂唉...能再详细一点吗?
参考技术A 穿窗体的静态变量。。。。。类似于单例模式。。。。 public static Main _cmain=null;//窗体初始化的时候 进行new下。。。然后 其他窗体通过引用可以达到效果。。LZ可以试试看。。或者自己google相关信息 做个提示!! 参考技术B 这个问题我也遇到过,如果用Fr2控制Form1中的窗体控件,可以在Fr2的事件中编写Form1 frm1 = (Form1 )this.Owner; 语句,这样就可以用frm1对象控制Form1中的控件了.追问用了你的想法,可是不行啊,它报 System.NullReferenceException异常啊
追答这个异常貌似是你缺少对所修改窗体的引用啊!你添加using form1试试,这里的form1依照你程序而定。
参考技术C private MainForm m_data = null;private void readdata_Load(object sender, EventArgs e)
m_data = new MainForm();
m_data.browseControl.Enabled = false;
参考技术D 传引用,学过么追问
能不能详细点呢?我菜鸟一个啊
追答传参数会不?
追问传参数会啊...能不能把详细步骤写一下啊...这个我有点晕
追答你在本窗体会操作吧?this.控件.属性=值,你把这个this传到另一个窗体不就行了么,我手机上的没办法发代码
追问用过了,但是他报空引用异常啊,为什么啊
追答发你QQ,我给你发个项目
追问980463316,谢谢啊..
以上是关于在c#中怎么能在一个窗口中设置另一个窗口控件的属性?急急急!!!的主要内容,如果未能解决你的问题,请参考以下文章