在运行时更改应用程序MainForm

用户名

我想在单击按钮时重新启动我的主表单。例如:

program.cs:

Application.Run(new MainForm(data))

MainForm.cs:

private void btn1_Click(object sender, EventArgs e)
{
    MainForm newForm = new MainForm(newData);
    this.close();
    Application.Run(newForm);
}

这样我的新主窗口就是的新实例MainForm我该如何做才能从内存中清除第一个实例?

编辑即我希望我的第一个实例MainForm完全消失-与调用相同this.Hide()吗?还是调用this.Close()然后进行设置,以使应用程序仅在最后一个窗口关闭时才退出,而在主窗口关闭时不退出?

萨拉赫·阿克巴里(Salah Akbari)

否。在单个线程上启动第二个消息循环是无效的操作。您可以Form.ShowDialog改用:

Hide();
MainForm newForm = new MainForm(newData);
newForm.Closed += (s, args) => Close();
newForm.ShowDialog();

或者,如果您想关闭旧实例:

Hide();
MainForm newForm = new MainForm(newData);
newForm.ShowDialog();
Close();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在运行时更改Polymer应用程序的主题

在运行时更改应用程序主题

在运行时更改应用程序语言

可以在运行时更改argv(不能由应用程序本身更改)

更改compileSdkVersion是否会影响应用程序在运行时的行为?

如何在运行时更改应用程序环境?

如何保护Flash应用程序免于在运行时更改系统时间

如何在运行时更改应用程序输出类型

在运行时从服务器更改应用程序图标

在Spring Boot应用程序中在运行时更改日志记录级别

基于SAP Java Buildpack的cf应用程序在运行时更改日志级别

如何在运行时更改android应用程序的名称和图标?

在应用程序仍在运行时更改 Tkinter 标签

在运行时检测 MSIX 打包的应用程序

在运行时设计 Angular 应用程序的样式

Web应用程序:在运行时删除文件

在应用程序运行时更改属性文件

JavaFX:运行时更改应用程序语言

如何通过Spring Boot应用程序和Spock测试在运行时更改服务器端口

如何在运行时更改Safari应用程序扩展中的工具栏图标?

如何使用Swift在运行时使我的应用程序表现得就像我在更改Application is agent(UIElement)?

在iOS Swift中进行本地化。我如何在运行时更改应用程序语言

在运行时动态更改Angular 7中的语言环境,而无需重新加载应用程序

在运行时更改应用程序大小时,为什么要停止数据传输?

blazor wasm应用程序在运行时的程序集构建版本

在运行时替换MVC应用程序部分和Razor文件提供程序

运行时应用程序

更新到Android 3.6工作室后,在运行时应用程序崩溃

如何编写可以在运行时进行自我更新的Java应用程序?