求救!!!!!!!!!
  我的父窗体有几个按钮,只有登录的按钮是可见的即visible的值的true,而其他按钮是false!现在点击登录,只有成功登录才能是其他按钮可见的可见性变成true!!
请问各位大侠怎么做啊!!!!!!!!!

解决方案 »

  1.   

    将父窗体作为参数传给子窗体的构造函数。
    在父窗体的design.cs文件里把你要用的按钮改成public的。
    然后在父窗体的构造函数里加上这句。
    Control.CheckForIllegalCrossThreadCalls = false;
    在子窗体里就能设置了。
      

  2.   

    顶2楼,最好用委托
    比如定义一个委托public delegate void ChangeMainFormControlEventHadller(object sender,EventArgs e);
    子窗体定义如下事件public event ChangeMainFormControlEventHadller ChangeMainFormControlRequest;
    在主窗体中注册这个事件并实现之。
      

  3.   

    登陆成功之后,你这个子窗体不自动关闭?还开着?如果关闭的话,关闭后才修改其他按钮的状态吧。不用搞这么麻烦的动作。如果实在要做,有2个办法:
    1、修改button的定义,改成public或者internal,总之令它可以使用 mainform.button.enable.
    2、在子窗体定义一个event,主窗体调用之前写好对这个event的实现,然后子窗体里面调用这个event.