博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#关于等待窗体(转)
阅读量:4326 次
发布时间:2019-06-06

本文共 1822 字,大约阅读时间需要 6 分钟。

c#.net 中如果想在主窗口A里点击打开新窗口B(因为要数据库操作,Bload需一小段时间)之前弹出带有滚动条等待子窗口C来提示用户没有死机,应该怎么做?我用多线程打开了c窗口,但是问题:1.C窗口会作为一个新窗口弹出,在任务栏上有显示,而不能作为A的子窗口弹出,我设置了mdiParent属性,但是会报错“交叉线程……”;2.等B窗口load完毕需要关闭C窗口,应怎么操作?请达人给予指导,谢谢!

问题补充:

1  ,  C_window.ShowInTaskbar=false;这样就不会再任务栏上显示
2  ,  B窗口载入完毕线程结束的时候执行关闭c窗口就可以啦.
我试了试可以在任务栏上不显示,但是我想让这个C窗口在A窗口的范围内显示,最好是正中间,但是C只能是以电脑屏幕为准来显示的,位置不太理想,请问有办法解决吗?

 

在B窗体的加载事件里启动C窗体,等B加载完后用一个变量通知C窗体关闭

private void B_Load(object sender, EventArgs e)           {             c = new C();             Thread t=new Thread(new ThreadStart(要干的活 如 display));   //处理线程             t.Start();             c.ShowDialog();         }    public void display()        {             if (this.richTextBox1.InvokeRequired)             {                 myDelegate mydele = new myDelegate(copyDoc);                 richTextBox1.Invoke(mydele);                 c.Stop = true;    //处理线程中,用于与等待窗体线程通信的变量             }         }    public partial class C : Form     {         private bool IsStop ;         private Thread t;         public bool Stop         {             set { IsStop = value; }         }           public frmWaiting()        {             InitializeComponent();         }           private void C_Load(object sender, EventArgs e)         {             IsStop = false;             t = new Thread(new ThreadStart(closeThisForm));    //等待B窗体信息的线程             t.Start();         }           private void closeThisForm()         {             while (!IsStop)    //等待信号             { }                  if (this.InvokeRequired)             {                 frmCloseHandler close = new frmCloseHandler(closeThisForm);                 this.Invoke(close);             }               else            {                 this.Close();             }             IsStop = false;         }

 

转载于:https://www.cnblogs.com/boltwolf/p/3367427.html

你可能感兴趣的文章
实验四【bx】和loop的使用
查看>>
P1313 计算系数
查看>>
myBatis之入门示例
查看>>
tensorflow 变量共享
查看>>
NSString的长度比较方法(一)
查看>>
初识JavaScript
查看>>
Azure云服务托管恶意软件
查看>>
My安卓知识6--关于把项目从androidstudio工程转成eclipse工程并导成jar包
查看>>
旧的起点(开园说明)
查看>>
Testing your Xamarin app on Android device
查看>>
丢失控制文件恢复实验记录--4(在线日志文件没有损坏,归档日志丢失,直接重建控制文件(跟踪控制文件trace是旧的情况))...
查看>>
生产订单“生产线别”带入生产入库单
查看>>
crontab导致磁盘空间满问题的解决
查看>>
java基础 第十一章(多态、抽象类、接口、包装类、String)
查看>>
Hadoop 服务器配置的副本数量 管不了客户端
查看>>
欧建新之死
查看>>
C程序之修改Windows的控制台颜色(转载)
查看>>
自定义滚动条
查看>>
[QT][待解决问题]对话框ui载入卡顿问题
查看>>
jquery中单选选中及清除选中状态
查看>>