[英]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.