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. MBProgressHUD的基本使用

    MBProgressHUD的基本使用 分类: IOS2012-10-30 11:19 12047人阅读 评论(2) 收藏 举报 和gitHub上的Demo其实差不多,就是小整理了下,当备忘,想做复杂的 ...

  2. swift和 oc 混编2-备

    在Swift语言出现之前,开发iOS或OS X应用主要使用Objective-C语言,此外还可以使用C和C++语言,但是UI部分只能使用Objective-C语言. 选择语言 Swift语言出现后,苹 ...

  3. 网络请求时 返回 App Transport Security has blocked a cleartext HTTP

    如上图,是因为 Xcode7 没有对 plist 进行 http 请求的配置  所致 这时需要  加上上面的plist的红框中 的内容  并且 设置 为 yes  如下图

  4. SVM及其对偶

    引自 http://my.oschina.net/wangguolongnk/blog/111349 1. 支持向量机的目的是什么? 对于用于分类的支持向量机来说,给定一个包含正例和反例(正样本点和负 ...

  5. java.io.FileNotFoundException: /exapp/hadoop/name/current/VERSION (Permission denied)

    http://blog.csdn.net/blackiez/article/details/8570395

  6. Android中的ContentValues用法

    ContentValues 和HashTable类似都是一种存储的机制 但是两者最大的区别就在于,contenvalues只能存储基本类型的数据,像string,int之类的,不能存储对象这种东西,而 ...

  7. Android addView动态给Activity添加View组件

    本文主要讲述如何动态给UI界面添加布局和控件,在编程的时候很多时候需要动态显示一些内容,在动态添加View的时候,主要使用addView方法. 1. addView方法简介 在Android 中,可以 ...

  8. 解决:安装SQl 2008为SQL Server代理服务提供的凭据无效

    Q: 在Windows Server 2008安装SQL Server 2008出现的问题: 安装时在“服务器配置”环节出现以下问题:为sql server代理服务提供的凭据无效为sql server ...

  9. bzoj3997[TJOI2015]组合数学

    http://www.lydsy.com/JudgeOnline/problem.php?id=3997 偏序集,看上一篇随笔. 我们要求最少路径覆盖,可以等价于求最大独立集. 我们要找到一个权值和最 ...

  10. CF-599B - Spongebob and Joke

    B. Spongebob and Joke time limit per test 2 seconds memory limit per test 256 megabytes input standa ...