2011-12-28 15 views
46

मैं यह जांचने के लिए एक ईवेंट बना रहा हूं कि टैब नियंत्रण में विशिष्ट टैब पृष्ठ सक्रिय है या नहीं।जांचें कि कोई विशिष्ट टैब पृष्ठ चुना गया है (सक्रिय)

बिंदु यह है कि यह एक ईवेंट ट्रिगर करेगा यदि टैब टैब में वह टैब पृष्ठ वर्तमान में चयनित टैब है। कोई भी कोड जो मुझे चाहिए जो मुझे चाहिए?

+1

क्या आप डब्ल्यूपीएफ, विंडोज फॉर्म में काम कर रहे हैं? –

+0

यह एक 'SelectedIndexChanged' घटना क्यों अपने विशिष्ट टैब की जांच नहीं और अपने काम – V4Vendetta

+1

@Maxim कर दिया गया है: हाँ, विंडोज फॉर्म: System.Windows.Forms.TabControl और System.Windows.Forms.TabPages। –

उत्तर

71

मान लिया जाये कि आप Winform में बाहर देख रहे हैं, वहाँ टैब

के लिए एक SelectedIndexChanged घटना उस में अब है आप अपने विशिष्ट टैब के लिए जांच कर सकता है और तर्क के साथ आगे बढ़ना

private void tab1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (tab1.SelectedTab == tab1.TabPages["tabname"])//your specific tabname 
    { 
     // your stuff 
    } 
} 
+0

धन्यवाद, यह वह चीज थी जिसे मैं ढूंढ रहा था। मुझे नहीं पता था कि टैबपेज ["टैबनाम"] चीज, एक बार फिर, धन्यवाद –

+0

आप टैब का चयन करने के लिए उसी विधि का भी उपयोग कर सकते हैं: 'tab1.SelectedTab = tab1.TabPages [" tabname "]' – SharpC

17

एक यह जाँचने के लिए विशिष्ट टैब पृष्ठ वर्तमान में टैब नियंत्रण का चयनित पृष्ठ है; बस टैब नियंत्रण के SelectedTab संपत्ति का उपयोग करें:

if (tabControl1.SelectedTab == someTabPage) 
{ 
// Do stuff here... 
} 

यह अगर कोड कुछ टैब पृष्ठ के अलावा अन्य घटना के आधार पर निष्पादित किया जाता है और अधिक उपयोगी चयनित किया जा रहा है (जिसमें मामले SelectedIndexChanged एक बेहतर विकल्प हो जाएगा)।

उदाहरण के लिए मैं एक टाइमर का उपयोग करता है नियमित रूप से टीसीपी/आईपी कनेक्शन पर चुनाव सामान है, लेकिन अनावश्यक टीसीपी से बचने के लिए करने के लिए एक आवेदन पत्र है/आईपी यातायात मैं केवल चुनाव चीजें हैं जो वर्तमान में चयनित टैब पृष्ठ में अद्यतन जीयूआई नियंत्रित करता है।

3

नेट 4 में उपयोग कर सकते हैं

if (tabControl1.Controls[5] == tabControl1.SelectedTab) 
       MessageBox.Show("Tab 5 Is Selected"); 

या

if (tabpage5 == tabControl1.SelectedTab) 
     MessageBox.Show("Tab 5 Is Selected"); 
+1

माइनस एक: इससे पहले पोस्ट किए गए उत्तरों में कुछ भी नहीं जोड़ा गया है। –

1

के लिए जो भी कारण से ऊपर मेरे लिए काम नहीं करेगा। यह क्या किया है:

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

जहां tabControl.SelectedTab.Name नाम विशेषता TabControl अपने आप में पेज करने के लिए सौंपा है।

संबंधित मुद्दे