2016-09-21 58 views
0

我如何顯示不同的消息框取決於選項卡控件。 如果我點擊的xtrapage1 messagebox.show("page1")標籤報頭和,如果我上的xtrapage2 messagebox.how("page2") 我使用在事件鼠標按下在每個選項卡上設置不同的消息庫?

private void xtraTabControl1_MouseDown(object sender, MouseEventArgs e) 
{ 
    DevExpress.XtraTab.ViewInfo.XtraTabHitInfo hi = xtraTabControl1.CalcHitInfo(e.Location); 
    if (hi.HitTest == DevExpress.XtraTab.ViewInfo.XtraTabHitTest.PageHeader) 
    {         
     MessageBox.Show("a"); 
    } 
} 

代碼標籤報頭點擊它不斷表示"a"

SCREEN SHOOT1

+0

是否需要在MouseDown事件?因爲在SelectedPageChanged事件中執行起來比較容易,然後執行MessageBox.Show(e.Page.Name); –

+0

是的,必須是mousedown。它的另一個目的。像重裝數據庫sql select – chopperfield

+0

爲什麼?如果你需要在頁面顯示之前重新加載數據庫sql,你可以使用SelectedPageChanging事件嗎? –

回答

1

試試這個

private void xtraTabControl1_MouseDown(object sender, MouseEventArgs e) 
{ 
    DevExpress.XtraTab.ViewInfo.XtraTabHitInfo hi = xtraTabControl1.CalcHitInfo(e.Location); 
    if (hi.HitTest == DevExpress.XtraTab.ViewInfo.XtraTabHitTest.PageHeader) 
    {         
     MessageBox.Show(hi.Page.Text.ToString())); 

     if(hi.Page.Name == xtraTabPage1.Text.ToString()) 
      MessageBox.Show("a"); 
    } 
} 
+0

謝謝,這就是我尋找! – chopperfield

+0

不客氣。 –

+0

@chopperfield當一個帖子回答你的問題時,不要忘了點擊帖子旁邊的複選標記將答案標記爲已接受。儘管您只能接受一個答案,但您可以投出儘可能多的答案(包括已接受答案),方法是單擊帖子旁邊的向上箭頭。 –

0

試試這個

if (YourTabControl.SelectedTab.Name == "tabName") 
{ 
    // do stuff 
} 

或者你可以實現選項卡的selectedIndexChanged事件上具有相同的功能。

private void YourTabControl_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (YourTabControl.SelectedTab == YourTabControl.TabPages["YourTabName"]) 
    { 
     // your matched condition. 
    } 
} 
+0

你可以給我鼠標按下事件?因爲我需要它用於其他目的刷新選擇數據庫.. IAM不尋找selectedindex變化 – chopperfield

+0

你試過第一個? –

+0

是的,我有.. 'if(xtraTabControl1.SelectedTabPage.Name == xtraTabPage1.Text.ToString()) { MessageBox.Show(「b」); }' does not work – chopperfield

相關問題