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

2024-12-25 07:27:18
推荐回答(3个)
回答1:

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

回答2:

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

回答3:

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