WinForm 多窗體 選單和工具欄

2022-08-18 06:15:10 字數 979 閱讀 8180

今天,我首先先學習了一下在winform程式開發中常遇到的問題——多窗體程式執行問題。

在開發多窗體程式時,常會遇到以下四個方面的問題:

一、哪個是主窗體

問題:主窗體隱藏了,關閉其它窗體後,沒有將主窗體顯示/關閉,那麼程式就關不上了。

當遇到這個問題時,我們通常的解決辦法是:建構函式傳值,將窗體傳到另乙個窗體中去,進行關閉。

二、窗體只能開啟乙個

建立乙個全域性的泛型集合,為了放置全部開啟的窗體。在窗體開啟之前,判斷集合中是否有name一致的窗體,如果有就說明已經開啟了,就不要再開啟了。

問題:當窗體開啟了,關閉後,就無法再次開啟了。

這個問題通常的解決辦法是:當窗體關閉時,清除form1中集合中的此窗體物件記錄。

問題:當窗體已經開啟,再次點選開啟按鈕,不會將已開啟的窗體重新顯示並焦點進入。

這個問題的解決辦法是:找到已開啟物件,將windowstate屬性設定為:formwindowstate.normal;找到已開啟窗體的物件,使用focus方法。

三、窗體之間的傳值和控制

傳值:建構函式傳值。

控制:第一步,找到窗體物件,第二步,將窗體物件的控制項值更改。

注意:要將窗體中的物件訪問許可權修改。

四、提示框型別的窗體

showdialog();

它的作用是:彈出乙個必須先輸入完本窗體內容才能繼續其他窗體操作的窗體。

接下來,我學習了選單和工具欄的內容。

1、menustrip:

頂部選單

分割線:1、- 2、右鍵插入 split。。。

快捷鍵:每乙個項右鍵屬性的最下面可以設定快捷鍵

不管選項隱藏還是選單隱藏,快捷鍵都管用

2、contextmenustrip:

右鍵選單

3、statusstript:

底部選單

4、toolstrip

工具條5、toolstripcontainer

工具條容器

多窗體及選單

問題 主窗體隱藏了,關閉其它窗體後,沒有將主窗體顯示 關閉,那麼程式就關不上了 1 建構函式傳值,將窗體傳到另乙個窗體中去 public partial class form2 form 建立乙個全域性的泛型集合,為了放置全部開啟的窗體 1 在窗體開啟之前,判斷集合中是否有name一致的窗體,如果有...

winform選單和工具欄控制項

1 contextmenustrip 右鍵選單 可以繫結在任何乙個控制項上,新增操作快捷鍵,並可以設定多層 每行相當於乙個按鈕,輸入 可新增分割線 2 menustrip 選單 優先順序最高,一定會出現在窗體最上面 設定快捷鍵 選中選單項 右鍵屬性 shortcutkeys 設定快捷鍵 右鍵可以插入...

winform的選單欄和工具欄

winform的選單欄和工具欄 1 contextmenustrip 右鍵選單 可以繫結在任何乙個控制項上,新增操作快捷鍵,並可以設定多層 每行相當於乙個按鈕,輸入 可新增分割線 2 menustrip 選單 優先順序最高,一定會出現在窗體最上面 設定快捷鍵 選中選單項 右鍵屬性 shortcutk...