生成一个新线程来打开一个新窗口并从另一个线程关闭它

2023-12-29

现在我有 C# 代码在不同的线程中生成一个新窗口,这可以工作,但是一旦新生成的窗口打开,它就会关闭并且线程结束。我该如何做到这一点,以便可以从第一个线程关闭新生成的窗口?

这是当前生成如何工作的“树”:

主线程
--使用主线程中的一个函数来启动单独线程中的另一个函数来打开w窗口,导致该窗口使用该线程。

基本上我只是希望两个窗口都有自己的线程。并能够从第一个窗口线程控制生成的辅助窗口。


我敢打赌你正在做的事情是这样的:

new Thread(() => new TestForm().Show()).Start();

因为这会使窗口立即消失,就像您所描述的那样。

试试这个:

 new Thread(() => new TestForm().ShowDialog()).Start();

ShowDialog 旋转它自己的消息泵,并且仅在窗口关闭时返回。

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

生成一个新线程来打开一个新窗口并从另一个线程关闭它 的相关文章

  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • 错误:表达式不产生值

    我尝试将以下 C 代码转换为 VB NET 但在编译代码时出现 表达式不产生值 错误 C Code return Fluently Configure Mappings m gt m FluentMappings AddFromAssemb
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • 回发后刷新时提示确认表单重新提交。我做错了什么?

    我有一个以空白 默认状态启动的仪表板 我让用户能够将保存的状态加载到仪表板中 当他们单击 应用 按钮时 我运行以下代码 function CloseAndSave var radUpload find radUpload1ID var in
  • 将 Word 文档另存为图像

    我正在使用下面的代码将 Word 文档转换为图像文件 但是图片显得太大 内容不适合 有没有办法渲染图片或将图片保存到合适的尺寸 private void btnConvert Click object sender EventArgs e
  • qdbusxml2cpp 未知类型

    在使用 qdbusxml2cpp 程序将以下 xml 转换为 Qt 类时 我收到此错误 qdbusxml2cpp c ObjectManager a ObjectManager ObjectManager cpp xml object ma
  • 我可以使用 moq Mock 来模拟类而不是接口吗?

    正在经历https github com Moq moq4 wiki Quickstart https github com Moq moq4 wiki Quickstart 我看到它 Mock 一个接口 我的遗留代码中有一个没有接口的类
  • Qt - ubuntu中的串口名称

    我在 Ubuntu 上查找串行端口名称时遇到问题 如您所知 为了在 Windows 上读取串口 我们可以使用以下代码 serial gt setPortName com3 但是当我在 Ubuntu 上编译这段代码时 我无法使用这段代码 se
  • 如果我使用客户端计算机上未安装的字体,会发生什么情况?

    有人可以告诉我 如果我在 WinForms 应用程序中使用目标计算机上不可用的字体 会发生什么情况 它是否使用同一系列的字体 只是 Sans Serif 还是其他字体 您的应用程序将回退到 Segoe UI Tahoma 然后是 MS Sa
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • AES 128 CBC 蒙特卡罗测试

    我正在 AES 128 CBC 上执行 MCT 如中所述http csrc nist gov groups STM cavp documents aes AESAVS pdf http csrc nist gov groups STM ca
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • 为什么 gcc 抱怨“错误:模板参数 '0' 的类型 'intT' 取决于模板参数”?

    我的编译器是gcc 4 9 0 以下代码无法编译 template
  • 使用 %d 打印 unsigned long long

    为什么我打印以下内容时得到 1 unsigned long long int largestIntegerInC 18446744073709551615LL printf largestIntegerInC d n largestInte
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • 如何部署“SQL Server Express + EF”应用程序

    这是我第一次部署使用 SQL Server Express 数据库的应用程序 我首先使用实体 框架模型来联系数据库 我使用 Install Shield 创建了一个安装向导来安装应用程序 这些是我在目标计算机中安装应用程序所执行的步骤 安装
  • 当从finally中抛出异常时,Catch块不会被评估

    出现这个问题的原因是之前在 NET 4 0 中运行的代码在 NET 4 5 中因未处理的异常而失败 部分原因是 try finallys 如果您想了解详细信息 请阅读更多内容微软连接 https connect microsoft com
  • 从列表中选择项目以求和

    我有一个包含数值的项目列表 我需要使用这些项目求和 我需要你的帮助来构建这样的算法 下面是一个用 C 编写的示例 描述了我的问题 int sum 21 List

随机推荐

  • kotlin:注释中数组的一些问题

    我在注释中遇到一些问题 Entity Table uniqueConstraints array UniqueConstraint columnNames array key userid public class 在这种情况下 我收到以下
  • 将参数从别名任务传递给 grunt 任务

    有没有办法将参数从像这样的别名任务传递到调用任务中 grunt registerTask taskA taskB taskC grunt taskA test 所以那个任务taskB and taskC将使用参数调用test 您可以像这样创
  • 如何以编程方式单击 DataGridView 的单元格?

    我有一个 datagridview cellclick 方法 当我单击单元格时 它会将 dataGridView 中的所有内容放入变量中 所以没有问题 但我想在启动程序时自动单击同一个 DataGridView 的第一个单元格 不是用鼠标自
  • @property/@synthesize 相当于 swift

    我们曾经声明过property在类之间传递数据如下 h file interface file property nonatomic double topSpeed m file implementation file synthesize
  • 安装 Visual Studio 2015 后 Fakes 停止工作

    我已经安装了 Visual Studio 2015 作为试用 从那时起 我使用 fakes 的单元测试将不再编译 甚至在 VS 2013 上也无法编译 单元测试项目的目标是 net 4 5 Msdn https connect micros
  • SimpleSAMLphp 会覆盖 PHP (Zend) 会话,旧版 SimpleSAMLphp 不会发生这种情况

    我必须在旧的 PHP 服务器上更新 simplesamlphp 该库的旧版本是 2010 年的 Simplesamlphp 在 SP 启动的环境中用作服务提供商 SP 我将其替换为 09 20 版本并进行了相同的配置 除了一件事之外 一切都
  • 将 HTML 解析为 PHP

    如果我们设置 Apache Web 服务器来配置 Apache 来处理是否存在任何安全 性能问题allHTML 与 PHP 一样吗 我具体指的是 AddType application x httpd php php php3 php4 h
  • Django Rest框架仅创建序列化器字段

    我有一个用作请求描述的 Django 模型 它是为了由 REST 客户端发出请求而创建的 用于记录任务的当前状态 并记录客户端收到的历史请求 该模型有一些字段用于微调和控制所请求的任务 例如 目标对象和操作类型 显然 我希望客户端在对象创建
  • 下载属性在 Phonegap 应用程序中不起作用

    这不是我的第一个混合应用程序 我已经在 Google Play 商店和 Apple Store 上发布了应用程序 我的目标平台是Android 我不确定将支持哪些版本 如果我决定发布这个想法 我将在稍后确定 我正在使用 Phonegap B
  • SQL Server计算父类别和所有子类别的记录数

    目前 我有一个存储过程 我在其中创建一个表并查询该表以获得所需的结果 结果是一个无限分层的子 父表 它允许我在基于 ASP Classic 的网页上显示数据 这个程序是 SET NOCOUNT ON DECLARE Categories T
  • 有哪些技术可以监控一个软件的多个实例?

    我有一个自助服务亭软件 将在多个站点运行 我想远程监控他们的状态 信息亭应用程序本身已经基本完成 我现在正在创建一款软件 该软件将从一个中心位置监控所有自助服务终端 以便客户可以远程查看特定详细信息 例如 接受者的现金盒中有多少钞票 当前的
  • eclipse/tomcat:部署不再工作(ClassNotFoundException)

    我正在 Linux Ubuntu Natty Narwhal 中运行 Eclipse Helios Service Release 1 和 Tomcat 7 0 12 我一直很高兴地重新部署我的网络应用程序 直到它毫无理由地停止工作 显示以
  • 无法在另一个 *.axml 文件中包含 *.axml 文件

    我想包括一个布局 axml文件在另一个 axml使用 xamarin android 但是 当我使用时
  • 使用 actionbarsherlock 选项卡样式的选项卡内容

    参考下面的代码 取自https gist github com 1126843 https gist github com 1126843 如何设置选项卡的内容 public class NativeTabActivity extends
  • 如何使用 Spring JDBCTemplate 绑定元组列表?

    我有一些这样的疑问 List listOfIntegers Arrays asList new Integer 1 2 3 List objects namedParameterJdbcTemplate query select from
  • 自定义搜索 jQuery FancyTree 插件

    我在我的一个项目中使用 FancyTree jQuery 插件 https github com mar10 fancytree https github com mar10 fancytree 该插件还有一个过滤器扩展 可以调暗或隐藏不匹
  • 在列表中查找匹配和不匹配的项目

    我对 Python 还很陌生 对于列表可以做什么和不能做什么有点困惑 我有两个列表 我想比较它们并以二进制格式返回匹配和不匹配的元素 List1的长度是恒定的 而长度List2不同 但总是短于List1 例如 List1 dog cat p
  • 检测 IE 操作中止问题的原因

    我的网站正遭受操作中止错误 http support microsoft com kb 927917 我觉得奇怪的是 就我而言 错误只是有时会发生 该网站已经运行良好三个月了 然后今天开始出现这种情况 但并非每次都会出现这种情况 发生这种情
  • 未定义方法“has_one_attached” - Spree、AWS S3、产品图像、Rails

    我尝试将 Spree 购物车与 AWS S3 连接以上传产品图片 但不断收到错误消息 rbenv versions 2 4 0 lib ruby gems 2 4 0 gems activerecord 5 2 0 lib active r
  • 生成一个新线程来打开一个新窗口并从另一个线程关闭它

    现在我有 C 代码在不同的线程中生成一个新窗口 这可以工作 但是一旦新生成的窗口打开 它就会关闭并且线程结束 我该如何做到这一点 以便可以从第一个线程关闭新生成的窗口 这是当前生成如何工作的 树 主线程 使用主线程中的一个函数来启动单独线程