控件不显示是否在后台线程上运行(c# winform)

2023-12-24

我有一个表格(复杂形式在代码中)具有多个控件,需要一些时间来加载。因此,我决定放入一个单独的线程中,以减少初始加载时间。除了等待表单上的标签控件(Form1在代码中)最初不显示;就在 Form1 响起之前的一瞬间。所以我的问题是,为什么标签控件不显示?

[STAThread]
static void Main()
{
    Thread thread = new Thread(delegate()
    {
        var wait = new Form1(); //simple form with a label control with text "please wait"
        wait.Show();
        var complexUI = new complexForm();// this takes long time to load
        wait.Dispose();// it will go off even without this method
        // MessageBox.Show("loaded");
    });

    thread.SetApartmentState(ApartmentState.STA);
    thread.Priority = ThreadPriority.Highest;
    thread.IsBackground = true;
    thread.Start();
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new main());

}

不要这样做。会以泪水结束。仅从 UI 线程创建 UI 控件 - 这是拥有消息泵的线程,这对于正确操作至关重要。

正确的解决方案是创建一个启动屏幕,在主窗口初始化时显示该启动屏幕。

Stack Overflow 上有很多关于如何创建启动屏幕的线程。

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

控件不显示是否在后台线程上运行(c# winform) 的相关文章

  • 如何在 Unity 中从 RenderTexture 访问原始数据

    问题的简短版本 我正在尝试访问 Unity 中 RenderTexture 的内容 我一直在使用 Graphics Blit 使用自己的材质进行绘制 Graphics Blit null renderTexture material 我的材
  • Func 方法参数的首选命名约定是什么?

    我承认这个问题是主观的 但我对社区的观点感兴趣 我有一个缓存类 它采用类型的缓存加载器函数Func
  • 模板类的不明确多重继承

    我有一个真实的情况 可以总结为以下示例 template lt typename ListenerType gt struct Notifier void add listener ListenerType struct TimeListe
  • 嵌入式系统中的malloc [重复]

    这个问题在这里已经有答案了 我正在使用嵌入式系统 该应用程序在 AT91SAMxxxx 和 cortex m3 lpc17xxx 上运行 我正在研究动态内存分配 因为它会极大地改变应用程序的外观 并给我更多的力量 我认为我唯一真正的路线是为
  • 如何在我的应用程序中使用 Windows Key

    Like Windows Key E Opens a new Explorer Window And Windows Key R Displays the Run command 如何在应用程序的 KeyDown 事件中使用 Windows
  • 为什么 POSIX 允许在只读模式下超出现有文件结尾 (fseek) 进行搜索

    为什么寻找文件结尾很有用 为什么 POSIX 让我们像示例中那样在以只读方式打开的文件中进行查找 c http en cppreference com w c io fseek http en cppreference com w c io
  • C# 中值类型和引用类型有什么区别? [复制]

    这个问题在这里已经有答案了 我知道一些差异 值类型存储在堆栈上 而引用类型存储在托管堆上 值类型变量直接包含它们的值 而引用变量仅包含对托管堆上创建的对象位置的引用 我错过了任何其他区别吗 如果是的话 它们是什么 请阅读 堆栈是一个实现细节
  • c 中的错误:声明隐藏了全局范围内的变量

    当我尝试编译以下代码时 我收到此错误消息 错误 声明隐藏了全局范围内的变量 无效迭代器 节点 根 我不明白我到底在哪里隐藏或隐藏了之前声明的全局变量 我怎样才能解决这个问题 typedef node typedef struct node
  • 当 Cortex-M3 出现硬故障时如何保留堆栈跟踪?

    使用以下设置 基于 Cortex M3 的 C gcc arm 交叉工具链 https launchpad net gcc arm embedded 使用 C 和 C FreeRtos 7 5 3 日食月神 Segger Jlink 与 J
  • 是否有比 lex/flex 更好(更现代)的工具来生成 C++ 分词器?

    我最近将源文件解析添加到现有工具中 该工具从复杂的命令行参数生成输出文件 命令行参数变得如此复杂 以至于我们开始允许它们作为一个文件提供 该文件被解析为一个非常大的命令行 但语法仍然很尴尬 因此我添加了使用更合理的语法解析源文件的功能 我使
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • 网络参考共享类

    我用 Java 编写了一些 SOAP Web 服务 在 JBoss 5 1 上运行 其中两个共享一个类 AddressTO Web 服务在我的 ApplycationServer 上正确部署 一切都很顺利 直到我尝试在我的 C 客户端中使用
  • AccessViolationException 未处理

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 为了在我的 ASP
  • 什么是 C 语言的高效工作流程? - Makefile + bash脚本

    我正在开发我的第一个项目 该项目将跨越多个 C 文件 对于我的前几个练习程序 我只是在中编写了我的代码main c并使用编译gcc main c o main 当我学习时 这对我有用 现在 我正在独自开展一个更大的项目 我想继续自己进行编译
  • 将日期参数传递给对 MVC 操作的 ajax 调用的安全方法

    我有一个 MVC 操作 它的参数之一是DateTime如果我通过 17 07 2012 它会抛出一个异常 指出参数为空但不能有空值 但如果我通过01 07 2012它被解析为Jan 07 2012 我将日期传递给 ajax 调用DD MM
  • GDK3/GTK3窗口更新的精确定时

    我有一个使用 GTK 用 C 语言编写的应用程序 尽管该语言对于这个问题可能并不重要 这个应用程序有全屏gtk window与单个gtk drawing area 对于绘图区域 我已经通过注册了一个刻度回调gtk widget add ti
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • 窗体最大化时自动缩放子控件

    有没有办法在最大化屏幕或更改分辨率时使 Windows 窗体上的所有内容自动缩放 我发现手动缩放它是正确的 但是当切换分辨率时我每次都必须更改它 this AutoScaleDimensions new System Drawing Siz
  • 如何在 C# 中播放在线资源中的 .mp3 文件?

    我的问题与此非常相似question https stackoverflow com questions 7556672 mp3 play from stream on c sharp 我有音乐网址 网址如http site com aud
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的

随机推荐

  • 资产 - “图像”、“声音”和“webkit”?

    我试图递归加载我放置在项目中 assets 文件夹中的所有资产 当我执行以下操作时 AssetManager assetManager getResources getAssets String assets assetManager li
  • Docker compose 分离模式不起作用

    问 如何在分离模式下运行 docker compose 我正在尝试在分离模式下运行 docker compose 但它运行后就会退出 但我可以使用 docker run 命令在分离模式下运行相同的图像 使用 docker run 命令运行图
  • Wicket.Ajax.Call.failure:解析响应时出错:需要对象

    我只是花了几个小时来调试这个问题 我在这里为其他人记录它 问题 当我尝试单击某个时出现以下错误AjaxLink在 Internet Explorer 中 Wicket ERROR Wicket Ajax Call failure Error
  • WPF故事板死亡

    C public partial class MainWindow Window Storyboard a new Storyboard int i public MainWindow InitializeComponent a Compl
  • 将 xs:string 转换为 jaxb 中的 java.util.UUID

    在jaxb中 如何将xsd中的字符串转换为java util UUID 是否有内置的数据类型转换器或者我必须创建自己的自定义转换器 This is much如果您从 Java 类开始并使用 JAXB 注释 那么事情会变得更容易 但是 要使用
  • 为什么我的 C++/CX 单元测试没有失败?

    我在 VS 2012 C CX 中有以下 Windows Store Metro Style 测试方法 这个成功了 就ok了 TEST METHOD TestMethod bool passed false concurrency even
  • 与旧系统的 CQRS

    我希望将一个具有清晰域模型的相对较新的基于 Web 的应用程序转换为更多 CQRS 风格的系统 我的新应用程序本质上是对现有旧系统的增强替代 我的组织中的现有系统共享一组通用数据库 这些数据库由整个公司孤岛中存在的无数应用程序 通过混沌方法
  • 为什么使用 GLib 函数?

    在使用 C 和 GTK 编程时 为什么使用 更好 g strdup printf g free g strcmp0等等 以及其他 GLib 函数 一般来说 GLib 的目的是一个实用程序和可移植性库 这些本身就是考虑使用它的理由 您提到的特
  • 我可以执行原始 SQL 查询、利用准备好的语句而不使用 ActiveRecord::Relation::QueryAttribute 吗?

    我想做一个upsert https www postgresql org docs 10 static sql insert html SQL ON CONFLICT Rails 还不支持这个 查询是这样的 INSERT INTO foos
  • 如何在 Lua 中的特定日期、特定时间执行全局函数?

    我正在 Lua 中编写一个脚本 其中许多其他函数将在特定日期的特定时间执行单个循环 当按下按钮时就会启动循环 现在我思考了一会儿 我发现我必须使用 os time 以毫秒为单位检查系统时间 它以表格形式也可以返回日期 这非常有帮助 我唯一困
  • 是否可以强制现有 Java 应用程序使用不超过 x 个内核?

    我们正在对现有 Java 程序进行基准测试 它们是线程应用程序 旨在从多核 CPU 中受益 我们想测量核心数量对运行速度的影响 但我们不愿意 也无法 更改这些应用程序的代码 当然 我们可以在不同的机器上测试软件 但这既昂贵又复杂 我们宁愿有
  • 严格标准:以非静态方式访问静态属性内容::$total

    这是我的代码 class content public text public static total function construct content this gt text content this gt total 0 pub
  • 如何用PHP获取页面访问者所在国家? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 对于我正在开发的网站 我希望它能够显示每个国家 地区有多少用户访问过我的网站 但我很好奇的是如何获取用
  • javascript CPU 使用率过高 - 如何调试?

    查找 javascript cpu 使用率高的原因的最佳方法是什么 我有一个脚本 可以简单地从缩略图库中加载 flickr 中的照片 它们加载后 什么也不做 等待您单击它们以显示在灯箱中 但 cpu 使用率仍然是 25 或更多 我打开了 F
  • Ndepend CQL 使用特定框架程序集查找某些类型的方法

    为了检查不是从某些基类派生的类型是否正在使用低级框架程序集 可以使用以下查询 SELECT TYPES WHERE IsDirectlyUsing ASSEMBLY Framework Data AND DeriveFrom App Bas
  • 使用 SQLCipher 加密后无法压缩 Android SQLite 数据库

    我随我的应用程序提供了一个只读数据库 将其包含在 Assets Database 目录中 所有数据均已预先填充 集成后SQLCipher并对数据库进行加密 我注意到 APK 大小从25MB 至 150MB 原因是SQLitedb 文件不再被
  • 用于图像分割的张量流的 sigmoid_cross_entropy 损失函数

    我试图理解什么是sigmoid cross entropy损失函数对于图像分割神经网络的作用 这是相关的 Tensorflow 源码code https github com tensorflow tensorflow blob 600ca
  • 生产环境中显示开发异常

    我知道这是一个很大的 不 并且在我的网站上线时不应该显示开发人员错误页面 我该怎么做才能确保开发环境错误消息不会出现在生产中 为什么会出现这些 我以为在生产模式下它默认是关闭的 我错过了一个设置吗 Note 这是在共享服务器上 我使用的是a
  • ArangoDB - 如何在图遍历中执行计算?

    我有一个简单的图表来跟踪我借钱给的人 所以图表看起来像这样 userB owes to amount 200 gt userA userC owes to amount 150 gt userA 等等 假设您需要使用图形遍历来找出每个用户欠
  • 控件不显示是否在后台线程上运行(c# winform)

    我有一个表格 复杂形式在代码中 具有多个控件 需要一些时间来加载 因此 我决定放入一个单独的线程中 以减少初始加载时间 除了等待表单上的标签控件 Form1在代码中 最初不显示 就在 Form1 响起之前的一瞬间 所以我的问题是 为什么标签