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 主按鈕要跳回每一個的第一子頁
}