多窗體:
1、哪個是主窗體
問題:主窗體隱藏了,關閉其它窗體后,沒有將主窗體顯示/關閉,那么程序就關不上了
(1)、構造函數傳值,將窗體傳到另一個窗體中去
2、窗體只能打開一個
創建一個全局的泛型集合,為了放置全部打開的窗體
(1)、在窗體打開之前,判斷集合中是否有name一致的窗體,如果有就說明已經打開了,就不要再打開了
問題:當窗體打開了,關閉后,就無法再次打開了
辦法:當窗體關閉時,清除Form1中集合中的此窗體對象記錄
問題:當窗體已經打開,再次點擊打開按鈕,不會將已打開的窗體重新顯示並焦點進入
辦法: 找到已打開對象,將WindowState屬性設置為: 找到已打開窗體的對象,使用Focus方法;
3、窗體之間的傳值和控制
傳值:構造函數傳值
控制:第一步,找到窗體對象,第二步,將窗體對象的控件值更改 注意:要將窗體中的對象訪問權限修改
4、提示框類型的窗體
ShowDialog();
作用:
菜單和工具欄:
1、MenuStrip: 頂部菜單 分割線:1、- 2、右鍵插入 split。。。
快捷鍵:每一個項右鍵屬性的最下面可以設置快捷鍵 不管選項隱藏還是菜單隱藏,快捷鍵都管用
2、ContextMenuStrip: 右鍵菜單
3、StatusStript: 底部菜單
4、ToolStrip 工具條
5、ToolStripContainer 工具條容器