在編寫Windows窗體應用程式時,總是需要從第二個窗體視窗(如選項窗體或彈出式搜尋提示)獲取變數。
大多數指南都會告訴您必須使用ShowDialog()開啟第二個窗體,這會阻止使用者在關閉第二個窗體視窗之前執行任何其他操作。例如,對於find/replace對話方塊來說,這並不是很好。對於自定義繪製的彈出窗體,它也不能很好地工作。
在窗體之間傳遞變數的快速方法是使用委託。可以為第二個窗體的關閉事件設定eventhandler,並在第一個窗體中處理該事件。這允許您在第二個窗體視窗關閉之前捕獲變數。
對於本練習,我們假設有兩種形式:
主窗體
選項窗體
我們將進一步假設,我們已經單擊了某種按鈕,透過Show()方法呼叫開啟Opti***Form。現在讓我們來看看魔術:
……. snip…….
Opti***Form theform = new Opti***Form(); theform.Closing += new CancelEventHandler(theform_Closing); theform.Show();
}
private void theform_Closing(object sender, CancelEventArgs e) {
Opti***Form theform = (Opti***Form)sender;
// Grab the variable from the opti*** form. The opti*** form should set this variable before it closes, and the variable should be marked as public. string localvar = theform.thestringvariable;
}
就這些。
...快速定位並跳轉到另一個視窗,或者關閉您認為不再需要的視窗。 ...
...上下箭頭鍵。 右箭頭向下鑽入具有選項卡的視窗。向左箭頭從選項卡檢視移回主視窗。 ...
...Tab,這個應用程式就會進入前臺。 使用command+tab顯示開啟的視窗縮圖 您還可以使用Command+Tab切換器執行其他操作。如果按Command+Tab,突出顯示某個應用程式的圖示,然後按向上或向下箭頭,您將啟動一個模式,在螢幕上顯示該應...
...定應用程式的所有開啟視窗。 然後按向右箭頭鍵在開啟的視窗之間移動。突出顯示要切換到的視窗,然後按Return鍵切換到該視窗。 您可以隨時透過轉到“系統首選項”>“鍵盤”>“快捷鍵”來更改這些鍵盤快捷鍵...
...它的名字會出現在這裡。星號(*)表示這是您正在檢視的視窗。每次在tmux會話中建立一個新視窗時,它的視窗號和在其中執行的程式的名稱都會新增到狀態列中。 screen命令不提供狀態列。你必須瞎飛,依靠你的智慧去知道發...
...視窗(幻燈片) 當你使用iPad時,你可能會看到一個較小的視窗停在一個全屏應用程式上。這叫做滑倒,看起來像這樣。 要關閉小的滑動視窗,請將手指放在滑動視窗頂部的控制欄上,如果視窗在右側,請快速朝螢幕右邊緣滑...
...鍵,然後按d分離螢幕。 下載程序仍在執行,但顯示下載的視窗已刪除。您將返回到啟動螢幕會話的終端視窗。一條訊息告訴您,一個標記為23167.pts-0.howtogeek的螢幕視窗已被分離。 您需要從視窗名稱開始的數字來重新附加它。如...
...dows+Home。 還原所有最小化的視窗:windows+Shift+M。 也可以在不完全最大化視窗的情況下放大視窗。如果要將當前視窗的高度(而不是寬度)拉伸到螢幕的頂部和底部,請按Windows+Shift+Up Arrow。請注意,如果將視窗捕捉到下面介紹...
... Ctrl+Shift+R(Windows/Chrome作業系統)和Cmd+Shift+R(macOS):在不使用快取內容的情況下重新載入當前頁面 Esc(Windows/Chrome OS/macOS):停止頁面載入 Ctrl+S(Windows/Chrome OS)和Cmd+S(macOS):將當前頁面儲存到計算機 Ctrl+P(Windows/Chrome OS...