今天,我首先先學習了一下在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...