首页 > 其他分享 >winform 子线程进行弹窗提示

winform 子线程进行弹窗提示

时间:2022-11-10 00:14:40浏览次数:55  
标签:toast parent 窗体 str new 线程 FormToast 弹窗 winform

项目中有个动作:打开一个窗体展示

FormToast toast = new FormToast();
toast.lblMsg.Text = str;
toast.Show();

 


大多数情况,直接在界面上(主线程)点击按钮的时候展示,没问题。

有些特殊情况,是在新开的子线程中要展示窗体,用上面的办法就不行了,窗体展示不全,像被挡住或卡住。

网上找到了解决的办法:https://stackoverflow.com/questions/11995466/c-sharp-calling-form-show-from-another-thread

本例的写法如下:

public static void hint(Form parent, string str)
{
FormToast toast = new FormToast();
//父窗体主线程中执行子窗体的属性操作 parent.Invoke((MethodInvoker)delegate () { toast.lblMsg.Text = str; toast.Show(); });
}

public static void close(Form parent, string str)
{
FormToast toast = new FormToast();
//父窗体主线程中执行子窗体的属性操作 parent.Invoke(new Action<string>(

(str) =>{
  
this.close(); });

)
}
 

 


把当时的窗体(姑且称为“父窗体”)拿过来,使用invoke方法。

 

问题解决。
窗口显示的时候使用主窗体的BeginInvoke方法用主线程执行弹出, 

 

标签:toast,parent,窗体,str,new,线程,FormToast,弹窗,winform
From: https://www.cnblogs.com/JohnnyLei/p/16875664.html

相关文章

  • 异步和多线程的区别
    .NET异步和多线程系列(一)(qq.com)......
  • 前端技术分享:小程序双线程架构
    如今我们每个人都是小程序的使用者,小到日常的健康码,大到各种政务事项办理。究其因,对于用户来讲小程序无需下载,用完即走而且其具备轻量、流畅的使用体验;对于开发者来讲便捷简......
  • 多线程
    多线程使用继承Thread类开启多线程例:packagethread;//创建线程方式一:继承Thread类,重写run()方法,调用start开启线程publicclassTestThread01extendsThread{@......
  • DevExpress winform XtraEditor常用控件
    ComboBoxEdit这个控件和winform自带的控件差不多,使用起来也方便,在designer页面拖拽控件之后可以直接在页面添加要显示的项目:后台的代码控制也方便1cbBoxSex.Propert......
  • 线程同步-读者写者问题(多线程)
    问题描述有读者和写者两个并发进程,共享一个文件,当两个或以上的读进程同时访问共享数据时不会产生副作用,但若某个写进程和其他进程(读进程或写进程)同时访问共享数据时则可......
  • Java线程安全
    线程安全的本质其实第一张图的例子是有问题的,主内存中的变量是共享的,所有线程都可以访问读写,而线程工作内存又是线程私有的,线程间不可互相访问。那在多线程场景下,图上的线程......
  • 20-jmeter-SetUp线程组批量登录并保存token文件
    前言我们在压测接口的时候,需批量获取多个用户登录后返回的token值,那么在setUp线程组可以先批量登录后把token保存到本地csv文件,后面的接口引用这个csv文件的数据参数化。......
  • 读者-写者(多线程)
    同步互斥问题-读者写者问题之写者优先(一)问题要求1.读者-写者问题的读写操作限制(仅读者优先或写者优先)写-写互斥,即不能有两个写者同时进行写操作。读-写互斥,即不能......
  • Andriod 子线程更新UI
    Andoird是不允许直接在子线程中更新UI的。原因是子线程中更新UI会引起线程不安全问题,导致界面卡顿掉帧。需要通过handler.post将子线程的任务发送到UI线程进行处理。下面......
  • 读者-写者(多线程)
    读者-写者(多线程)读者写者问题抽象解释多个进程访问一个共享的数据区读者(读进程)只能读数据,写者(写进程)只能写数据适用于数据库、文件、内存、寄存器等数据区的访问模型......