按钮.Visible = true;在功能内激活时无法将按钮设置为可见

2024-01-02

我找不到其他人遇到同样的问题,所以希望有人能有一些想法或能够向我指出另一个答案。

当通过按下表单上的按钮来运行函数时,另一个按钮应该变得可见。然而,即使按钮是函数中的第一个按钮,它也永远不会显示。该函数中的所有其他代码都可以完美运行。

这是代码:

private void trackbar_Change(object sender, EventArgs e)
{
    button.Visible = true;
    progressbar.Visible = true;

    ...

    progressbar.Visible = false;
    button.Visible = false;
}

进度条显示并工作正常,函数中的所有其他代码也工作正常,但按钮根本不显示。

如果我删除button.Visible = false;从函数末尾开始,按钮确实会显示,但只有在所有其他代码执行完毕后才会显示。像这样:

private void trackbar_Change(object sender, EventArgs e)
{
    button.Visible = true;
    progressbar.Visible = true;

    ...

    progressbar.Visible = false;
    //button.Visible = false;
}

注释掉该行会导致按钮显示。现在,如果我在按钮行之后添加一个消息框,那么它也可以工作。

private void trackbar_Change(object sender, EventArgs e)
{
    button.Visible = true;
    MessageBox.Show("Button should be visible now");
    progressbar.Visible = true;

    ...

    progressbar.Visible = false;
    button.Visible = false;
}

在按钮行之后添加消息框可以使按钮在正确的时间显示。

有谁知道为什么这个按钮会这样?


听起来 GUI 线程很忙。尝试通过调用强制屏幕更新应用程序.DoEvents() http://msdn.microsoft.com/en-us/library/system.windows.forms.application.doevents.aspx, 例如:

button.Visible = true;
progressbar.Visible = true;
Application.DoEvents();

DoEvents()将强制处理消息队列中的所有消息。

A 更好的解决方案将移动主 UI 线程的长时间运行线程。用一个后台工作者 http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx为了任务。

它将使表单整体上更具响应性。例如,您将能够与表单交互,并且它不会变成“白色”。实现BackgroundWorker很简单,并且对于主UI线程上长时间运行的进程来说是必须的,

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

按钮.Visible = true;在功能内激活时无法将按钮设置为可见 的相关文章

  • EF Core 返回 null 关系,直到直接访问

    我有一些如下所示的模型 public class Mutant public long Id get set Relations public long OriginalCodeId get set public virtual Origi
  • 与 MinGW 的静态和动态/共享链接

    我想从一个简单的链接用法开始来解释我的问题 假设有一个图书馆z它可以编译为共享库 libz dll D libs z shared libz dll 或静态库 libz a D libs z static libz a 让我想要链接它 然后
  • 带有 ASP.NET 按钮回发的 jQuery UI 对话框

    我的 ASP NET 页面上有一个运行良好的 jQuery UI 对话框 jQuery function jQuery dialog dialog draggable true resizable true show Transfer hi
  • 无法在 CUDA 中找到 1 到 100 数字的简单和?

    我正在研究使用 CUDA 的图像处理算法 在我的算法中 我想使用 CUDA 内核找到图像所有像素的总和 所以我在cuda中制作了内核方法 来测量16位灰度图像的所有像素的总和 但我得到了错误的答案 所以我在cuda中编写了一个简单的程序来查
  • 如何从经过身份验证的 SecurityToken 中获取声明

    我将令牌作为字符串传递到 SOAP 服务中 并验证了该令牌是否有效 我现在有一个 SecurityToken 在调试模式下我可以看到所有声明 特别是我想传递到另一个方法的 userId 声明 我似乎不知道如何获得这些索赔 现在 我解码了令牌
  • CMake(Ninja 后端)使用 /MT 编译

    我有一个类似的问题CMake 使用 MT 而不是 MD 进行编译 https stackoverflow com questions 14172856 cmake compile with mt instead of md但有一些差异 我正
  • Windows Phone 7 - ScrollViewer 值已更改

    我一直在寻找解决方案 但无法找到正确的解决方案 我的网格宽度为 960 并且有ScrollViewer在里面 现在我想知道滚动时滚动的值 水平偏移 我找到的所有解决方案都是针对 wpf silverlight 的 它对我不起作用 Edit
  • 加载 QPixmap 数据的更好方法

    更好的方法来做到这一点 没有QImage QImage image width height QImage Format RGB888 memcpy image bits m frameRGB gt data 0 height width
  • 用于 C++ 中图像分析的 OpenCV 二进制图像掩模

    我正在尝试分析一些图像 这些图像的外部周围有很多噪声 但内部有一个清晰的圆形中心 中心是我感兴趣的部分 但外部噪声正在影响我对图像的二进制阈值处理 为了忽略噪音 我尝试设置一个已知中心位置和半径的圆形蒙版 从而使该圆之外的所有像素都更改为黑
  • 大量互斥体对性能的影响

    假设我有一个包含 1 000 000 个元素的数组 以及多个工作线程 每个线程都操作该数组中的数据 工作线程可能会使用新数据更新已填充的元素 但每个操作仅限于单个数组元素 并且独立于任何其他元素的值 使用单个互斥锁来保护整个数组显然会导致高
  • 自己绘制的WPF自定义滑块

    这是我关于堆栈溢出的第一个问题 所以不要踢它 我在尝试创建 Mac 风格的滑块控件时遇到问题 我已经发现这个解决方案 http www codeproject com KB miscctrl MAC Slider aspx我已经在我的解决方
  • X 轴和 Z 轴上的 Quaternion.Slerp,无 Y 轴

    I am trying to rotate the Player about X Y and Z axis The Y axis should not move from last angle Example if I rotate 45
  • ASP.NET - Crystal Report Viewer 打印按钮在 ASP.NET 中不起作用

    我正在使用 Visual Studio 2008 但我遇到了水晶报告问题 当我单击打印按钮时 它会将我带到弹出窗口 但未找到页面 弹出的网址是 http localhost aspnet client System Web 2 0 5072
  • DateTime.ParseExact - 为什么 yy 变成 2015 而不是 1915

    为什么 NET 假定以下年份是 2015 年 而不是 1915 年 var d DateTime ParseExact 20 11 15 dd MM yy new CultureInfo en GB 我想 它会尝试接近 但其背后是否有合理的
  • 将 AutomationID 与 ListView 结合使用

    我正在尝试将 AutomationId 附加到列表视图中的项目 理想情况下 将项目名称绑定到显示的项目
  • 如何在Windows窗体中打开进程

    我想在我的 Windows 窗体应用程序中打开进程 例如 我希望当用户按下 Windows 窗体容器之一中的按钮时 mstsc exe 将打开 如果他按下按钮 它将在另一个容器上打开 IE DllImport user32 dll SetL
  • 具有多个父项的 Qt 树模型

    我想构建一棵树 其中一个元素可以引用另一个元素 我想要构建的树是 像这样的东西 A B C D E F P this is a pointer to C D first child of C E second child of C I fo
  • c++ - <未解析的重载函数类型>

    在我的班级里叫Mat 我想要一个将另一个函数作为参数的函数 现在我有下面 4 个函数 但是在调用 print 时出现错误 第二行给了我一个错误 但我不明白为什么 因为第一行有效 唯一的区别是功能f不是班级成员Mat but f2是 失败的是
  • 在多线程环境中捕获信号

    我有一个大型程序 需要尽可能具有弹性 并且有大量线程 我需要捕获所有信号SIGBUS SIGSEGV 并在必要时重新初始化有问题的线程 或者禁用该线程以继续减少功能 我的第一个想法是做一个setjump 然后设置信号处理程序 可以记录问题
  • Adobe Illustrator 中的折线简化如何工作?

    我正在开发一个记录笔划的应用程序 您可以使用定点设备来绘制笔划 在上图中 我绘制了一个笔划 其中包含 453 个数据点 我的目标是大幅减少数据点的数量 同时仍然保持原始笔画的形状 对于那些感兴趣的人 上图笔画的坐标可以作为GitHub 上的

随机推荐

  • Ruby 挑战 - 方法链接和惰性求值

    读完文章后http jeffkreeftmeijer com 2011 method chaining and lazy evaluation in ruby http jeffkreeftmeijer com 2011 method ch
  • jMeter Cookie Manager 不存储所有 cookie

    在阅读了互联网上的文档和帖子后 我仍然无法解决 jMeter 中 Cookie Manager 的问题 我在响应标头中获得了 sid ID 但它没有存储在我的 cookie 管理器中 以下是我的测试计划和 connect sid 响应的屏幕
  • mySQL select count,多个表

    我有三张桌子 table1 table2 table3 我试图获取每个表中的总行数以及价格列的总和 例如 r count total rows of all 3 tables combined r price sum of all pric
  • 在 Roslyn 的 .net core 中动态选择引用

    TL DR 如何让运行时在 NET Core 5 中为运行时编译的涉及 NET 4 7 2 代码的 C 插件选择正确的程序集 Context 我有一个 NET 4 7 2 应用程序 其中某些模块根据某些可配置插件的行为有所不同 我在 NET
  • 获取包含 10 种以上语言的所有维基数据项目?

    我正在尝试使用 SPARQL 从 Wikidata 获取世界上最著名的电影 我有以下查询 SELECT item WHERE item wdt P31 wd Q11424 SERVICE wikibase label bd serviceP
  • 在 scikit-learn 中使用相似矩阵代替 MDS 的相异矩阵

    我想可视化文本文档的相似性 我使用 scikit learn 的 TfidfVectorizer 作为tfidf TfidfVectorizer decode error ignore max df 3 fit transform data
  • 如何将委托作为参数传递以作为事件处理程序进行订阅?

    我有一个提供事件的外部应用程序StkQuit 我在一个静态类中订阅此事件 该类处理我的应用程序和外部应用程序之间的所有通信 我想订阅StkQuit使用位于我的表单类上的另一个处理程序的事件 该处理程序将通知用户外部应用程序已关闭 我想在静态
  • golang 生成的 WebAssembly 上的 Websocket?

    是否可以在 wasm 中而不是 go 中编写 Websocket 客户端 我尝试过使用gorilla websocket 但没有成功 func main ws func this js Value inputs js Value inter
  • SQOOP增量导入:当从数据库中删除一行时,它如何处理数据?

    假设我有一个包含列 emp id emp name emp age emp update ts 的员工表 如果表上有更新 则 updat ts 字段每次都会自动更新为当前时间戳 现在我的问题是 当我更新 插入表中的行并使用lastmodif
  • NSSplitViewController 导致包含的视图绘制在窗口角上

    I m trying to create a little Finder clone using Cocoa I m placing a source list table view to act as a sidebar and a st
  • 如何使用 Tensorboard 在同一图上绘制不同的汇总指标?

    我希望能够绘制每批次训练损失和average验证损失用于 Tensorboard 中同一图上的验证集 当我的验证集太大而无法放入内存时 我遇到了这个问题 因此需要批处理并使用tf metrics更新操作 这个问题可能适用于您想要显示在 Te
  • UIPageViewController 内的 UISlider

    我有一个 PageViewController 其初始化如下 self pageViewController UIPageViewController alloc initWithTransitionStyle UIPageViewCont
  • 设置独立的 cygwin 应用程序

    我想设置一组最小的 cygwin 应用程序 ls diff path find grep 以便它们在没有完整 cygwin 安装的计算机上运行 我假设我需要的只是相关的 exe 文件和 dll 到目前为止 这就是我所拥有的 到目前为止它有效
  • 井字游戏评价棋盘算法

    我已经用人工智能实现了井字棋 但现在面临一个问题 如何评价井字棋游戏的棋盘 也许一开始我会描述它应该如何工作 我们有 n 个井字棋游戏板 有不同的变体 我们的人工智能应该评估哪个棋盘最适合继续前进 最适合对手 Ai 通过极小极大算法计算移动
  • data.table 通过带空格的列名进行操作失败

    可重现的例子 Use the Iris data set library data table iris colnames iris 3 lt Petal Length iris lt as data table iris 访问没有空格的列
  • 如何调整/更改滚动条宽度

    有没有办法暂时改变滚动条宽度当我测试一些布局代码时 在 FF 或 IE 中 我记得不久前读过一些关于这与分辨率有关的内容 但不太记得了 我尝试更改计算机本身的分辨率 尝试增加浏览器字体大小 但都不起作用 Update我遇到过描述了如何在 F
  • 有没有办法在 PHP 中将 json 转换为 xml?

    有什么办法可以转换吗json to xml in PHP 我知道xml到json是很有可能的 如果您愿意使用XML序列化器 http pear php net package XML Serializer从 PEAR 中 您可以通过两个简单
  • 有没有办法包含来自不同目录的子 Rmd 文件

    我有一个主降价文件 例如 Parent Rmd 以及许多子文档 其中包含 r child introduction Rmd echo FALSE r child chapter2 Rmd echo FALSE 看来我应该能够做到 r chi
  • 样式表单错误消息 - bootstrap/rails

    我的 Rails 表单的错误消息在引导程序中看起来很糟糕 有谁知道更好 好看 错误消息的解决方案 我使用 Rails 和 Bootstrap 我的表格 它是一个助手 是这样的 div h2 prohibited this user from
  • 按钮.Visible = true;在功能内激活时无法将按钮设置为可见

    我找不到其他人遇到同样的问题 所以希望有人能有一些想法或能够向我指出另一个答案 当通过按下表单上的按钮来运行函数时 另一个按钮应该变得可见 然而 即使按钮是函数中的第一个按钮 它也永远不会显示 该函数中的所有其他代码都可以完美运行 这是代码