中易网

c#怎么在一个窗口里面访问另一个窗口的方法

答案:2  悬赏:40  
解决时间 2021-03-01 03:52
c#怎么在一个窗口里面访问另一个窗口的方法
最佳答案
有两种方法可以实现:
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();
全部回答
你好,你的这个代码很有问题!!! 两个事件中打开了不同的窗口,在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(); }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
诺基亚N78用联通怎么不能上网?
德仁堂药业连锁(龙湖金楠天街店)在哪里啊,我
沈阳永嘉齿科怎么样?我想去看牙,口碑怎么样
哈尔滨租女床位的话安全吗 要签合同吗 在58看
..2我手相生命线靠近中间有个方块,能有两个
京瓷1635复印机 黑点
为什么我的全民K歌软件更新升级遇到什么分析
私人管家总店在哪里啊,我有事要去这个地方
来源宾馆(六安霍邱县)地址有知道的么?有点事
我有万花满楼只独树倾城.什么意思
集美家居城这个地址在什么地方,我要处理点事
在学校门口要怎么样做生意才会火
在阜阳颍州区那里有招暑假工的啊?
干炒鱼条怎么做
我红色警戒3的修改器也不开起`
推荐资讯
风起于飘萍之末是什么意思,一般用于什么场合
换了个显示器,音响没声音了?拜托各位大神
请问本科生22岁毕业考上空姐后工作2~3年,24
起亚k4dlx车身重量是多少公斤
幼儿园歌曲词左手牵右手歌曲
悬羊砬子在什么地方啊,我要过去处理事情
麻城市岐亭镇杏花村村民委员会在什么地方啊,
YZ4DA3一30维柴发动机缸筒直径是多少
如图,正方形ABCD的边长为2,M是BC的中点,将
游戏为发现资源是什么意思
陈寨行政村李永卫生室地址有知道的么?有点事
萝岗区萝岗村委附近哪里有游泳池?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?