簡體   English   中英

C# 如何打開一個框來更新用戶的進度?

[英]C# how can I open a box to update the user on progress?

我想打開一個 window ,它將顯示一些文本,如“驗證輸入”並保持打開狀態直到方法完成。 我不能用消息框做到這一點。 有什么想法嗎?

除非我誤解了這對用戶來說聽起來有點殘忍,但你可以這樣做:

MessageBox只是一個標准的 Windows 表單,顯示為模式對話框。 如果您不喜歡表單上顯示的控件,則可以創建自己的表單並通過ShowDialog方法將其作為模式對話框顯示給用戶:

MyDialog dialog = new MyDialog();
dialig.ShowDialog();

然后,您的MyDialog表單可以自行執行驗證,或響應驗證已完成的通知。 在對話框關閉之前,用戶將無法與應用程序的 rest 交互(就像顯示消息框時一樣),對話框甚至可以禁用按鈕/阻止用戶關閉它,直到驗證成功.

如果您這樣做並且您的模態對話框沒有執行驗證,那么您應該知道您需要在后台線程上執行驗證,因為 UI 線程將被捆綁顯示模態對話框。

您可以創建一個基本表單,然后執行類似的操作。

this.Enabled = false;
FormWaiting frm = new FormWaiting();
frm.Show();

Thread.Sleep(1000000); //Place holder for long operation.
frm.Close();
this.Enabled = true;

取決於您的應用程序上下文,您可以選擇@Jethro 的示例,或者

創建一個您的FormWaiting:Form ,使其位於最頂層並調用Show() ,一旦您的方法完成執行關閉它。

你可以做很多其他的事情,但取決於你的具體情況,這在帖子中不是很清楚。

希望這可以幫助。

問候。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM