c#怎么在一个窗口里面访问另一个窗口的方法
答案:2 悬赏:40
解决时间 2021-03-01 03:52
- 提问者网友:独菊痴梦
- 2021-02-28 09:03
c#怎么在一个窗口里面访问另一个窗口的方法
最佳答案
- 二级知识专家网友:懂得ㄋ、沉默
- 2021-02-28 09:27
有两种方法可以实现:
1,使用委托,可以简单明了,更方便些
2,在form2类中,定义pulic form1 frm1; 属性。重载form2的构造函数,构造函数包含参数 form1,把参数form1传递给属性frm1,即可。具体如下:
public class form2:form
{
...........
pulic form1 frm1;
public form2() //默认构造函数
{
}
public form2(form1 fm) //重载构造函数
{
this.frm1 = fm;
}
public void test()
{
this.frm1.test();
}
...........
}
然后在form1中
form2 f2 = new form2(this);
f2.test();
f2.ShowDialog();
f2.Dispose();
1,使用委托,可以简单明了,更方便些
2,在form2类中,定义pulic form1 frm1; 属性。重载form2的构造函数,构造函数包含参数 form1,把参数form1传递给属性frm1,即可。具体如下:
public class form2:form
{
...........
pulic form1 frm1;
public form2() //默认构造函数
{
}
public form2(form1 fm) //重载构造函数
{
this.frm1 = fm;
}
public void test()
{
this.frm1.test();
}
...........
}
然后在form1中
form2 f2 = new form2(this);
f2.test();
f2.ShowDialog();
f2.Dispose();
全部回答
- 1楼网友:狙击你的心
- 2021-02-28 10:44
你好,你的这个代码很有问题!!!
两个事件中打开了不同的窗口,在buttonshowform_click(object sender, eventargs e)中打开了一个窗口;在buttonhidesubform_click(object sender, eventargs e)中也打开了一个窗口,但是马上就关闭了(这个窗口你是看不到的,因为执行速度很快,马上就关闭了)。
出现这种情况是你没有搞懂变量的作用范围造成的。在每个事件中创建的实体是不同的,虽然名字相同,但是因为在不同的作用范围内,因此事实上是不同的对象。
这里也可以看出你对程序的理解上还是需要在努点力才行。下面我替你改了下,你试试。
private subform subformtest = new subform();
private void buttonshowform_click(object sender, eventargs e)
{
this.subformtest.show();
buttonshowform.enabled = false;
}
private void buttonhidesubform_click(object sender, eventargs e)
{
this.subformtest.close();
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |