黑马程序员技术交流社区

标题: 如何在winform中改变一组按钮的状态 [打印本页]

作者: 百川    时间: 2014-3-29 17:21
标题: 如何在winform中改变一组按钮的状态
本帖最后由 百川 于 2014-3-29 22:07 编辑

如何在winform中改变一组按钮的状态?主窗体有三个按钮,分别是btncreate,btnshow,btndis。有一个共有的方法可以改变按钮的enable属性。如下:
  1. public void IsEnable(bool enable)
  2.         {
  3.             btncreate.Enabled = enable;
  4.             btnshow.Enabled = !enable;
  5.             btnDis.Enabled = !enable;
  6.         }
复制代码
现在通过构造函数将主窗体的引用传递给子窗体后,为什么调用不到这个公有的方法?如果想要调用的话该如何实现呢?




作者: mdb    时间: 2014-3-29 18:17
你的构造函数将是怎么写的,假如子窗口是主窗口是使用ShowDialog(this)的方法显示出来的话可以在子窗口中要调用的地方将父窗口转换出来,再调用
  1.             Form1 父窗口 = this.Owner as Form1;
  2.             父窗口.abc(false);
复制代码
  1. public void abc(bool s)
  2.         {
  3.             button1.Enabled = s;// 父窗口里的方法
  4.         }
复制代码

作者: 百川    时间: 2014-3-29 22:01
mdb 发表于 2014-3-29 18:17
你的构造函数将是怎么写的,假如子窗口是主窗口是使用ShowDialog(this)的方法显示出来的话可以在子窗口中要 ...

构造函数就是普通的
  1. public Form2(Form form)
  2.             : this()
  3.         {
  4.             this.form1 = form;
  5.         }
复制代码

其中form2是子窗体,form1是主窗体
作者: 百川    时间: 2014-3-29 22:05
mdb 发表于 2014-3-29 18:17
你的构造函数将是怎么写的,假如子窗口是主窗口是使用ShowDialog(this)的方法显示出来的话可以在子窗口中要 ...

解决了,谢谢大神。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2