天天看點

C# 系統應用之使用Pancel控件同一窗體切換頁面

該文章是項目"個人電腦曆史記錄清除軟體"的系列文章.主要講述如何使用pancel控件實作類似于360安全衛士的點選圖示窗體不變,但頁面内容變換的功能及遇到的重疊panel不能設定visible(可見)問題.

在使用panel控件時我遇到的一個問題是:當有多個panel(對控件集合分組)控件重疊顯示時,在頁面切換如下代碼:

解決方案:其中一個panel的parent可能被設定為另一個panel了,在拖動窗體控件時很容易就拖動至其他空間上.通過打開"視圖->其他視窗->文檔大綱"檢視控件的層次圖,就可以發現panelie确實被自動設定為panel2的parent.

是以可以在"文檔大綱"中手動拖動設定其panel關系,但好像隻能拖動至頂層.(ps:沒有找到好的方法,而且選中某個panel添加控件如button沒有其視圖可編輯)

C# 系統應用之使用Pancel控件同一窗體切換頁面

最初的打算是使用6個panel控件實作,點選不同的圖示設定其visible(是否課件)實作同一個窗體切換界面.代碼如下:

但是後來發現設定多個panel的層次關系和向某個panel中添加控件時非常繁瑣,同時有的控件不能很好的設定.是以建議如果是2個panel的切換或者沒有重疊的panel設定,可以通過該方法設定其visible(是否可見)來隐藏與顯示.如果重疊的可以參考下面的方法.

可以通過panel控件加載form來實作該頁面切換功能.向解決方案中添加不同頁面的form,設定窗體的控件是非常友善的,再加載到panel2中顯示即可.代碼如下:

運作結果如下圖所示:

C# 系統應用之使用Pancel控件同一窗體切換頁面

最後該文章主要是結合自己的實際東西講解,有些淺顯和簡單,如果你剛好遇到類似的問題就可能對你使用panel控件有所幫助.同時如果在文章中遇到錯誤或不足的地方,請海涵!我也在尋找更好的方法,如果你在同一個窗體下切換界面有什麼更好的方法,希望告知.