我正在用C#和gtk#構建一個GUI應用程序。我最近遇到了一個問題,並正在尋找這個問題的最佳解決方案:gtk#窗口線程
我有一個模式窗口,彈出用戶輸入一個數字。這個窗口是從我的主窗口進入一個單獨的窗口,它的設置是這樣的:
public class MainWindow()
{
public NumberEntry numEntry;
每當我需要從用戶輸入一個數字,我稱之爲勾住ShowAll()像NumberEntry的公共窗口屬性:
numEntry.win.ShowAll();
而這一切工作正常。之後,得到他們所輸入的值,我稱之爲:
int entered = numEntry.valueEntered;
問題顯然是代碼繼續勾住ShowAll後立即執行()行結束,numEntry.valueEntered總是0,我想什麼要做的(並且一直在試圖做的)是暫停主線程,並在第二線程中打開數字輸入窗口,並在完成時返回主線程。當我嘗試打開數字輸入窗口時,暫停主線程似乎可以防止GUI更改,從而使程序凍結。如果可能的話,我也想避免回調方法,看看過了一段時間後會如何變得相當複雜。有什麼建議?謝謝!
ShowDialog並返回值作爲ModalResult? –
嗯...... ShowDialog不會返回一個值:( –
該窗口比標準對話框更復雜(它就像一個帶有16個按鈕的計算器)您可以創建自定義對話框還是僅限於標準取消,確定,等? –