C# WINFORM 两个窗体的问题....

主窗体a有按钮ba,点下ba,窗体b.ShowDialog(); 窗体b里有几个TextBox,随便输入一些字,比如"abc","234",关闭窗体b.返回主窗体a,再点下ba..... 如何实现..这次弹出窗体b里的TextBox里的内容跟上次关闭的时候的内容一样.....
最新回答
抵住引诱

2024-10-13 02:31:46

两种思路:
一:不关闭窗体B,结束窗体B其实只是将窗体B隐藏了。然后在窗体A的ba按钮事件处判断,如果窗体B存在,则不new窗体B。直接showdialog窗体B即可。
二:这个是涉及窗体传值,在窗体A中声明一个字符串数组,或多个字符串变量。然后在ba按钮事件中,将this,即本窗体传递给窗体B,然后窗体B在关闭时,将textBox的值传递给窗体A的变量。因为在showdialog窗体B的外层,有一个if判断,判断窗体A的变量是否为空,如果为空就new窗体B,反之则直接显示。
不知道我说的清不清楚,总之我都感觉到一点晕了。如果不懂请留下Q。
梦比糖果甜

2024-10-13 06:57:19

一般有两种方式,一是将TextBox声明为static ,二是关闭b窗体的时候不释放B窗体,只是将B窗体隐藏,你可以搜一下如何隐藏窗体,在我做过的实际项目中基本上都是用第二种方式
意中人

2024-10-13 04:49:49

b.close();//关闭
后面不要接着写b.Dispose();这样就释放资源了,那重新打开b的时候是得不到值的!close()知识隐藏一下就可以了!