當我的應用程序加載時,阻止其他控件的c#表單。我使用下面的代碼顯示一個進度條。問題是如果有人點擊工具欄上下文菜單(退出的方式),它將被阻止,直到進度條關閉。有沒有人知道實現這一目標的更好方法?當顯示對話框叫做
我使用ShowDialog
的原因是,當我用Show
進度條就不動畫 - 我使用的MarqueeStyle。
感謝
public partial class PopUpProgessBar : Form
{
public PopUpProgessBar()
{
InitializeComponent();
}
Thread t;
private void StartAnmiation()
{
this.Update();
this.ShowDialog();
}
public void Stop()
{
if (t != null)
{
t.Abort();
t.Join();
}
}
public void Start()
{
if (t == null)
{
t = new Thread(new ThreadStart(this.StartAnmiation));
t.Start();
}
}
它不會被阻止,直到進度條停止,它被阻止,直到您的應用程序加載完畢,並開始爲響應命令。相當不可避免。需要一段時間讓F5在VS中工作。這種代碼非常危險,請確保您的應用程序在您按Windows + L鍵時不會死鎖。 – 2012-03-15 18:29:34