2011-06-29 89 views
2

我知道這個標題沒有多說,但它真的很難解釋我想要的幾句話。新形式問題c#

我有兩種形式(主&幫助)。一旦我按下主窗體上的按鈕幫助窗體彈出窗口。我想實現的功能是阻止用戶在主窗體上執行任何操作,直到他關閉幫助窗體。

我不喜歡使用可見控件,但我想要在某些程序中看到某種效果,當用戶嘗試單擊主窗體幫助窗體時出現「閃爍」以及錯誤聲音播放。一旦用戶關閉幫助方式程序照常

希望你明白我的意思

回答

7

這就是所謂的模態對話框,幸運的是,答案是簡單的;使用ShowDialog方法而不是使用Show顯示孩子Form。這是一個阻塞調用,在子窗體/對話框關閉之前不會返回,所以這意味着您可以檢查返回值和任何屬性,如果需要緊跟該代碼行之後(可能對幫助窗口無用,但在大多數情況下,檢查用戶的行爲是有用的)。

using(var dlg = new MyHelpDialog()) 
{ 
    if(dlg.ShowDialog() == DialogResult.OK) 
    { 
     // user chose "OK", do something (?) 
     // you can also access properties of the form after the fact 
     string whatever = dlg.SomeStringProperty; 
    } 
} 
+0

wooow,不能相信,答案是如此簡單,thxxx – Anthony

+0

這不是幫助的形式(我把它命名爲左右)我計劃將結果保存到文件並加載它,但這樣會更好,再次thxx – Anthony