C# TabControl 切換 TabPage 的方法
C# TabControl 切換 TabPage 的方法
參考資料:自己公司專案 SYWEB-V8-Workstation
code:
public void OutlookMenuMain_Click(object sender, EventArgs e)//2017/01/10 讓Outlook 主按鈕的事件呼叫UI的事件函數 { int Index; Index = ((BandButton)(sender)).bti.setIndex; m_TPOld = m_tabMain.SelectedTab;//--2017/02/22 製作返回按鈕功能 TabPage_Push();//m_StackTPOld.Push(m_TPOld);//--2017/02/22 製作返回按鈕功能 if (m_OutlookBar1.SelectedBand != Index) { m_intOutlookClickMainIndex = Index; m_intOutlookClickSubIndex = -1; } m_tabSys.Parent = m_tabMain; //--- //按下Outlook 主按鈕要跳回每一個的第一子頁 switch (Index) { case 0: if (!GetWebManage.p_manage_sydms.m_blnR)//所有功能啟動依序增加停用功能提示的判斷權限機制 - SYDM-R { MessageBox.Show(Language.m_StrDisableFunctionMsg01, Language.m_StrDisableFunctionMsg00, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //--- //新增m_tabV09device頁籤元件變數並建立對應初始化 - 把m_tabSub0004的顯示程式碼替換成m_tabV09device m_tabV09device.Parent = m_tabMain;//sycgv09差異修改 m_tabSub0004.Parent = m_tabMain; initV09device();//sycgv09差異修改 initSub0004UI(); m_tabMain.SelectedTab = m_tabV09device;//sycgv09差異修改 m_tabMain.SelectedTab = m_tabSub0004; //---新增m_tabV09device頁籤元件變數並建立對應初始化 - 把m_tabSub0004的顯示程式碼替換成m_tabV09device //--- //點選主選單 DEVICE不跑 狀態更新 /* //--- //判斷是否OnLine if ((butSys_04.Enabled && butSys_05.Enabled)) { Animation.createThreadAnimation(Language.m_StrlabV09device, Animation.Thread_ImportDeviceTable); Animation.createThreadAnimation(butSub0000_03.Text, Animation.Thread_importControllers); initV09device();//sycgv09差異修改 initSub0004UI(); } //---判斷是否OnLine */ //---點選主選單 DEVICE不跑 狀態更新 //MessageBox.Show(Language.m_StrOutlookSubMenu04);//主功能選單增加SYDM break; case 1: if (!GetWebManage.p_manage_department.m_blnR)//所有功能啟動依序增加停用功能提示的判斷權限機制 - 部門R { MessageBox.Show(Language.m_StrDisableFunctionMsg01, Language.m_StrDisableFunctionMsg00, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } m_tabSub0103.Parent = m_tabMain;//隱藏系統一開始時,沒用過的分頁,當要顯示時必須先指定父物件-2017/03/02 initSub0103UI(); m_tabMain.SelectedTab = m_tabSub0103; break; case 2: if (!GetWebManage.p_manage_user_authority.m_blnR)//所有功能啟動依序增加停用功能提示的判斷權限機制 - 人員門區通行權限R { MessageBox.Show(Language.m_StrDisableFunctionMsg01, Language.m_StrDisableFunctionMsg00, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } m_tabSub0200.Parent = m_tabMain;//隱藏系統一開始時,沒用過的分頁,當要顯示時必須先指定父物件-2017/03/02 initSub0200UI(); m_tabMain.SelectedTab = m_tabSub0200; break; case 3: if (!GetWebManage.p_manage_all_records.m_blnR)//所有功能啟動依序增加停用功能提示的判斷權限機制 - 全部紀錄權限R { MessageBox.Show(Language.m_StrDisableFunctionMsg01, Language.m_StrDisableFunctionMsg00, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } m_tabSub0301.Parent = m_tabMain;//把m_tabSub0300顯示變成m_tabSub0301 m_tabSub0300.Parent = m_tabMain; initSub0301UI(Language.m_StrTabPageTag0301);//把m_tabSub0300顯示變成m_tabSub0301 initSub0300UI(); m_tabMain.SelectedTab = m_tabSub0301;//把m_tabSub0300顯示變成m_tabSub0301 m_tabMain.SelectedTab = m_tabSub0300; break; case 4: if (!GetWebManage.p_manage_finger_printers.m_blnR)//所有功能啟動依序增加停用功能提示的判斷權限機制 - 建立指紋R { MessageBox.Show(Language.m_StrDisableFunctionMsg01, Language.m_StrDisableFunctionMsg00, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } m_tabSub0400.Parent = m_tabMain; initSub0400UI(); m_tabMain.SelectedTab = m_tabSub0400; break; case 5: m_tabSys.Parent = m_tabMain; m_tabMain.SelectedTab = m_tabSys;//MessageBox.Show("Main_4", "Panel Event"); break; case 6://建立左側即時狀態主選單事件回應區塊 if (!GetWebManage.p_manage_rtlog.m_blnR)//所有功能啟動依序增加停用功能提示的判斷權限機制 - 即時監控權限R { MessageBox.Show(Language.m_StrDisableFunctionMsg01, Language.m_StrDisableFunctionMsg00, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //--- //建立即時狀態實體UI頁籤-與事件串接顯示畫面 initSub0600UI();//修正即時監控和有源標籤監測的清掉資料判斷機制 m_tabSub0600.Parent = m_tabMain; m_tabMain.SelectedTab = m_tabSub0600; //---建立即時狀態實體UI頁籤-與事件串接顯示畫面 break; // } //---按下Outlook 主按鈕要跳回每一個的第一子頁 }