在运行时更改应用程序MainForm [重复]

2023-12-13

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

In program.cs:

Application.Run(new MainForm(data))

In MainForm.cs:

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

这样我的新主窗口就是MainForm。我怎样才能做到这一点,以便从内存中清除第一个实例?

编辑 IE。我想要我的第一个实例MainForm完全消失——和打电话一样吗this.Hide()?或致电this.Close()然后进行设置,以便应用程序仅在最后一个窗口关闭时退出,而不是在主窗口关闭时退出?


不可以。在单个线程上启动第二个消息循环不是有效的操作。您可以使用Form.ShowDialog反而:

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

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

Hide();
MainForm newForm = new MainForm(newData);
newForm.ShowDialog();
Close();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在运行时更改应用程序MainForm [重复] 的相关文章

  • 如何在没有 Control.Invoke() 的情况下从后台线程修改控件属性

    最近 我们遇到了一些旧版 WinForms 应用程序 我们需要更新一些新功能 在专家测试该应用程序时 发现一些旧功能被破坏 无效的跨线程操作 现在 在您认为我是新手之前 我确实有一些 Windows 窗体应用程序的经验 我不是专家 但我认为
  • FFMPEG Seeking 带来音频伪影

    我正在使用 ffmpeg 实现音频解码器 在读取音频甚至搜索已经可以工作时 我无法找到一种在搜索后清除缓冲区的方法 因此当应用程序在搜索后立即开始读取音频时 我没有任何工件 avcodec flush buffers似乎对内部缓冲区没有任何
  • 使用 Microsoft Graph API 订阅 Outlook 推送通知时出现 400 错误请求错误

    我正在尝试使用 Microsoft Graph API 创建订阅以通过推送通知获取 Outlook 电子邮件 mentions 我在用本文档 https learn microsoft com en us graph api subscri
  • 为什么禁止在 constexpr 函数中使用 goto?

    C 14 对你能做什么和不能做什么有规则constexpr功能 其中一些 没有asm 没有静态变量 看起来相当合理 但标准也不允许goto in constexpr功能 即使它允许其他控制流机制 这种区别背后的原因是什么 我以为我们已经过去
  • C# 中值类型和引用类型有什么区别? [复制]

    这个问题在这里已经有答案了 我知道一些差异 值类型存储在堆栈上 而引用类型存储在托管堆上 值类型变量直接包含它们的值 而引用变量仅包含对托管堆上创建的对象位置的引用 我错过了任何其他区别吗 如果是的话 它们是什么 请阅读 堆栈是一个实现细节
  • 写入和读取文本文件 - C# Windows 通用平台应用程序 Windows 10

    有用 但在显示任何内容之前 您必须在文本框中输入内容 我想那是因为我使用了 TextChanged 事件处理程序 如果我希望它在没有用户交互的情况下显示文本文件的内容 我应该使用哪个事件处理程序 因此 我想在按下按钮时将一些数据写入 C W
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • c# Asp.NET MVC 使用FileStreamResult下载excel文件

    我需要构建一个方法 它将接收模型 从中构建excel 构建和接收部分完成没有问题 然后使用内存流导出 让用户下载它 不将其保存在服务器上 我是 ASP NET 和 MVC 的新手 所以我找到了指南并将其构建为教程项目 public File
  • 当 Cortex-M3 出现硬故障时如何保留堆栈跟踪?

    使用以下设置 基于 Cortex M3 的 C gcc arm 交叉工具链 https launchpad net gcc arm embedded 使用 C 和 C FreeRtos 7 5 3 日食月神 Segger Jlink 与 J
  • 在 ASP.Net Core 2.0 中导出到 Excel

    我曾经使用下面的代码在 ASP NET MVC 中将数据导出到 Excel Response AppendHeader content disposition attachment filename ExportedHtml xls Res
  • A* 之间的差异 pA = 新 A;和 A* pA = 新 A();

    在 C 中 以下两个动态对象创建之间的确切区别是什么 A pA new A A pA new A 我做了一些测试 但似乎在这两种情况下 都调用了默认构造函数 并且仅调用了它 我正在寻找性能方面的任何差异 Thanks If A是 POD 类
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • 线程、进程和 Application.Exit()

    我的应用程序由主消息循环 GUI 和线程 Task Factory 组成 在线程中我调用一些第三方应用程序var p new Process 但是当我调用Application Exit 在消息循环中 我可以看到在线程中启动的进程仍在内存中
  • 作为字符串的动态属性名称

    使用 DocumentDB 创建新文档时 我想设置属性名称动态地 目前我设置SomeProperty 像这样 await client CreateDocumentAsync dbs db colls x new SomeProperty
  • char指针或char变量的默认值是什么[重复]

    这个问题在这里已经有答案了 下面是我尝试打印 char 变量和指针的默认值 值的代码 但无法在控制台上看到它 它是否有默认值或只是无法读取 ASCII 范围 include
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • 在 ASP.NET 中将事件冒泡为父级

    我已经说过 ASP NET 中的层次结构 page user control 1 user control 2 control 3 我想要做的是 当控件 3 它可以是任何类型的控件 我一般都想这样做 让用户用它做一些触发回发的事情时 它会向
  • 窗体最大化时自动缩放子控件

    有没有办法在最大化屏幕或更改分辨率时使 Windows 窗体上的所有内容自动缩放 我发现手动缩放它是正确的 但是当切换分辨率时我每次都必须更改它 this AutoScaleDimensions new System Drawing Siz
  • 如何连接字符串和常量字符?

    我需要将 hello world 放入c中 我怎样才能做到这一点 string a hello const char b world const char C string a hello const char b world a b co
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但

随机推荐

  • 更改路线时 AngularJS 页面会重新加载

    我有一些像这样的html 我什至懒得发布JS 因为它太复杂了 div class container h3 class text center Administration h3 div div class form inline text
  • 如何使用蒙版为圆形图像添加边框

    这是我的尝试 func round let width bounds width lt bounds height bounds width bounds height let mask CAShapeLayer mask path UIB
  • 将现有的 Android 应用程序映射密钥转移到另一个开发者帐户?

    我正在为我的公司开发一个 Android 应用程序 在此应用程序中 地图键 GCM 和 GOOGLE 是在我自己的开发者控制台帐户下创建的 现在该应用程序已在商店中发布 现在他们想将应用程序转移到公司自己的开发者控制台帐户 用户是否仍会像以
  • ImageMagick 未被授权将 PDF 转换为图像

    我有一个程序 需要使用 Image Magick 将 PDF 转换为图像 我这样做是使用subprocess包裹 cmd magick convert density 300 pdfFile str rangeTuple 0 str ran
  • Scrapy - 蜘蛛抓取重复的网址

    我正在抓取搜索结果页面并从同一页面抓取标题和链接信息 作为一个搜索页面 我也有到下一页的链接 我已在 SgmlLinkExtractor 中指定允许这些链接 问题的描述是 在第1页中 我找到了Page2和Page3的链接进行爬行 并且效果很
  • Parsley 远程和附加参数

    我正在尝试将远程验证器与欧芹一起使用 但我似乎无法通过请求发送附加数据 有问题的字段是电子邮件字段 我想将其发送到服务器以查看电子邮件地址是否 可用 另外 我需要发送服务器所需的 id 参数 id 参数嵌入在我的表单中的 主机 字段中 因此
  • Mongoose 调试写入 STDERR?

    有谁知道 有关于为什么 mongoose 将其调试日志写入 stderr 的信息 无论如何可以将其写入标准输出吗 调试选项接受函数而不是布尔值 mongoose set debug function collection method pa
  • 使用 AVX2 指令选择性地异或列表的元素

    我想用 AVX2 指令加速以下操作 但我找不到方法 我得到了一个大数组uint64 t data 100000 uint64 t 和一个数组unsigned char indices 100000 字节数 我想输出一个数组uint64 t
  • grep 使用具有多种模式的字符向量

    我正在尝试使用grep测试字符串向量是否存在于另一个向量中 并输出存在的值 匹配模式 我有一个像这样的数据框 FirstName Letter Alex A1 Alex A6 Alex A7 Bob A1 Chris A9 Chris A6
  • ClassLoaders.callStaticFunction Java Eclipse 的 InvokingTargetException

    我创建了一个使用 ReverseXSL API 将文本转换为 xml 的程序 该程序将由应用程序通过调用静态方法 静态 int 变换XSL 我能够通过从 Eclipse 运行来执行并生成输出 但是 当我使用应用程序运行程序 jar 时 它卡
  • 当parentID和childID在同一个表上时如何删除级联?

    我有一个名为members的mysql表 它基本上有两列 parentID and childID 这样我就可以根据这两列创建一个层次树 例如 parentID ChildID 1 2 2 3 3 4 将在我的应用程序中生成一棵树paren
  • 无法使用 NdefFormatable 格式化 NFC 卡

    我正在使用 NdefFormatable 类来格式化我的 NFC 卡 代码如下 NdefFormatable formatable NdefFormatable get tag 但我得到的可格式化引用为空 我检查了 get tag 方法内运
  • 图像未加载到画布上

    我的问题是 我在将本地托管的图像加载到画布上时遇到问题 我尝试过使用 XAMPP 在本地将代码托管在 Web 服务器上 但 LightBlue jpg 图像似乎永远无法加载 但是 当我使用网站上的外部图像时 代码可以完美运行 我在下面提供了
  • 将 Android 屏幕方向锁定为横向

    我正在开发一个 Android 应用程序 其一个功能是将屏幕方向锁定为横向 我想将此方向更改应用于手机中的所有 Android 应用程序 我正在使用这个代码 private void lockScreenOrientation if mSc
  • 在 Inno Setup 中创建使用命令行参数执行程序的快捷方式

    我有一个问题 我正在为一个程序做一个自定义安装程序 原始安装程序在桌面上创建一个快捷方式 快捷方式的目标如下 C Program Files Soft name soft exe soft run 在 Inno Setup 脚本中我使用以下
  • 用于软件清单的 PowerShell

    我想知道如何获得包含已安装软件和电脑名称的两列 Path C Gabriel LogPath C Gabriel Select Name Directory Name Outlook Expression Get WmiObject Cla
  • 在CSS视觉格式模型中,“元素的流动”是什么意思?

    In CSS2 第 9 3 节 定位方案 一个元素称为流出如果它是浮动的 绝对定位的或者是根元素 一个元素称为in flow如果没有流出 这元素的流动A 是由 A 和最近的流出祖先为 A 的所有流入元素组成的集合 我能明白什么流出 and
  • 如何通过空格字符拆分列表中的字符串

    所以stdin将一串文本返回到一个列表中 多行文本都是列表元素 你如何将它们全部拆分成单个单词 mylist this is a string of text n this is a different string of text n a
  • Firebase 托管:功能无法与 ServerMiddleware (Vue/Nuxt) 一起使用

    我正在构建一个利用 ServerMiddleware 仅在客户端呈现某些页面的项目 我无法找到另一种在没有 ServerMiddleware 的情况下使其正常工作的方法 刷新页面等问题 问题 不幸的是 每次我尝试通过 firebase部署
  • 在运行时更改应用程序MainForm [重复]

    这个问题在这里已经有答案了 我想在单击按钮时重新启动主表单 例如 In program cs Application Run new MainForm data In MainForm cs private void btn1 Click