控件不显示是否在后台线程上运行(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) 的相关文章

  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • C 编程:带有数组的函数

    我正在尝试编写一个函数 该函数查找行为 4 列为 4 的二维数组中的最大值 其中二维数组填充有用户输入 我知道我的主要错误是函数中的数组 但我不确定它是什么 如果有人能够找到我出错的地方而不是编写新代码 我将不胜感激 除非我刚去南方 我的尝
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • DotNetZip:如何提取文件,但忽略zip文件中的路径?

    尝试将文件提取到给定文件夹 忽略 zip 文件中的路径 但似乎没有办法 考虑到其中实现的所有其他好东西 这似乎是一个相当基本的要求 我缺少什么 代码是 using Ionic Zip ZipFile zf Ionic Zip ZipFile
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐

  • 资产 - “图像”、“声音”和“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 响起之前的一瞬间 所以我的问题是 为什么标签