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;
}

C#关于等待窗体(转)的更多相关文章

  1. 【C#】分享带等待窗体的任务执行器一枚

    -------------201504161039更新------------- 更新内容: IWaitForm接口删除System.Windows.Forms.DialogResult Dialog ...

  2. Devexpress 等待窗体

    加载窗体以及等待窗体 程序加载时,需要等待加载完成后在显示 窗体显示顺序 1. 给用户看的等待窗体 2. 加载完成后的主窗体 代码如下: 1. 等待窗体代码 #region using using S ...

  3. 【C#】带等待窗体的BackgroundWorker

    ---------------201504170911更新--------------- 更新内容:删除bgwUI新增的Start方法,改为通过new修饰符+可选参数的方式同时覆盖基类(Backgro ...

  4. c# winForm 等待窗体的实现

    最近在做一个项目,需要用到等待窗体,在DevExpress下面有SplashScreen控件可以使用,同时也有ProgressIndicator控件能用,但是如果没有用Dev开发的话,我们就需要自定义 ...

  5. C#Winform之等待窗体

    窗体主要代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ...

  6. C#中的“等待窗体”对话框

    这篇文章向您展示了如何在c#.net Windows窗体应用程序中创建一个等待窗体对话框.创建一个新表单,然后输入您的表单名称为frmWaitForm.接下来,将Label,Progress Bar控 ...

  7. (二十三)c#Winform自定义控件-等待窗体

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...

  8. winfrom创建转圈等待窗体

    第一步:创建一个WaitForm public partial class WaitForm : Form { ; private ArrayList images = new ArrayList() ...

  9. DevExpress窗体加载等待

    using DevExpress.XtraEditors; using DevExpress.XtraSplashScreen; using System; using System.Collecti ...

随机推荐

  1. ubuntu profile-environment-bashrc 添加环境变量

    Ubuntu Linux系统环境变量配置文件: /etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. ...

  2. In App Purchases(IAP 应用程序內购买): 完全攻略

    原文: http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/ 参考: http://www.cocoachina ...

  3. delphi7开发webservice部属在apache服务器中 转

    delphi7开发webservice部属在apache服务器中 delphi7 webservice apache 用Delphi7开发Web Service程序,并把服务程序放在apache We ...

  4. cocos2d-x 找不到资源文件问题

    问题描述: 在项目中引用到了图片,但是运行时报错: Unhandled exception at 0x001049DE in hello.exe: 0xC0000005: Access violati ...

  5. HDOJ(HDU) 1678 Shopaholic

    Problem Description Lindsay is a shopaholic. Whenever there is a discount of the kind where you can ...

  6. HDOJ 1397 Goldbach's Conjecture(快速筛选素数法)

    Problem Description Goldbach's Conjecture: For any even number n greater than or equal to 4, there e ...

  7. HDOJ 1279 验证角谷猜想

    Problem Description 数论中有许多猜想尚未解决,其中有一个被称为"角谷猜想"的问题,该问题在五.六十年代的美国多个著名高校中曾风行一时,这个问题是这样描述的:任何 ...

  8. Subarray Sum Closest

    Question Given an integer array, find a subarray with sum closest to zero. Return the indexes of the ...

  9. 组播报文转发过程RPF

    单播报文的转发过程中,路由器并不关心组播源地址,只关心报文中的目的地址,通过目的地址决定向哪个接口转发.在组播中,报文是发送给一组接收者的,这些接收者用一个逻辑地址标识.路由器在接收到报文后,必须根据 ...

  10. maven+spring mvc初尝试

    只是一个可以运行的例子,俺们来看看. 目录结构: pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xml ...