gpt4 book ai didi

vb.net - 关闭后表单保留值

转载 作者:行者123 更新时间:2023-12-02 02:17:47 24 4
gpt4 key购买 nike

在我们的程序中,表单的打开方式如下:

FormName.SomeValue = 10
FormName.ShowDialog()

与平常不同

Dim myForm As New FormName
myForm.SomeValue = 10
myForm.ShowDialog()

(对此我们无能为力 - 这是由 Visual Studio VB6 --> VB.Net 转换器自动完成的)

问题是,当表单关闭时,它们似乎并没有真正关闭,只是隐藏 - 如果我向文本框添加一些文本并关闭/重新打开表单,文本仍然存在,而不是文本框被清除像平常一样。这可能是因为表单始终使用相同的实例。

除了遍历整个程序并为每个 ShowDialog() 调用创建一个新的表单实例之外,还有什么简单的方法可以解决此问题(有数百)

我们考虑过重置每个表单的 Load 事件中的每个控件,但这仍然很痛苦,因此我们想先问问是否有更简单的方法。

最佳答案

public class MyForm: Form{

private static MyForm myForm = null;

public static DialogResult ShowDialog(bool newForm){
if(newForm)
{
if(myForm != null)
myForm.Dispose();
myForm= new MyForm();
}
return myForm.ShowDialog();
}

public static DialogResult ShowDialog(){
return ShowDialog(true);
}
}

关于vb.net - 关闭后表单保留值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4597017/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com