項目中偶然接觸到了第三方控件WizardBase,剛開始不是很會用,網上的資料也很少,但是控件功能非常強大,研究了一下大概用法,寫個博客記錄下:
如圖:窗體內部整個就是WizardBase.WizardControl這個控件了,當然在使用的時候需要引用WizardBase.dll這個文件。圖上的“歡迎……”是
添加向導步數,輸入Title屬性:
這里總共是5步,上圖“添加”按鈕旁邊的下拉可以選擇添加的步數類型,共有三種:StarStep、InterMediateStep、FinishStep。
添加步數,設置樣式和其他屬性之后,基本的東西就出來了。
在設置按鈕的屬性,以及按鈕的事件。對於取消、完成操作,控件都已經將事件封裝好了,可以直接用。這里把下一步的驗證數據事件的代碼貼出來,當然,也可以通過這個事件,判斷當前執行的
CurrentStepIndex,來獲取下一步需要從服務器獲取到的數據,這樣可以使得頁面和數據的加載速度更快,因為我這里是在窗體加載的時候就同時獲取了所有步數的數據。
private void wizardControl1_NextButtonClick(WizardBase.WizardControl sender, WizardBase.WizardNextButtonClickEventArgs args) { if (this.wizardControl1.CurrentStepIndex == 2) { if (this.treeDepartNew.Nodes.Count == 0) { MessageBox.Show("請選擇部門信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); args.Cancel = true; return; } } }
代碼和說明不多,只是大概的介紹下這個控件的使用,因為這個控件確實比較強大,而且網上資料不多。當然,各位技術大牛也可以自己寫。我覺得話,通過不同的步數顯示不同的panel,也可以實現這種效果,但咱們程序員應該還是比較喜歡拿來主義的,有現成的,咱能用就用,介紹到這里,詳細的各位自己琢磨吧!