2012-03-13 9 views
9

मैं टैब नियंत्रण पर क्लिक किए गए टैब पेज के आधार पर ईवेंट को स्वचालित रूप से ट्रिगर करने का प्रयास कर रहा हूं।टैबपेज क्लिक करें घटनाक्रम

मेरे फॉर्म के डिज़ाइन मोड में, जब मैं टैब पर क्लिक करता हूं तो गुण बॉक्स टैब सिस्टम को बताता है। Windows.Forms.TabControl जो भी टैब चुना जाता है। हालांकि, मुझे वास्तविक पृष्ठ पर क्लिक करना होगा, न कि संपत्ति के लिए पृष्ठ के नाम पर बदलने के लिए टैब। टास्कलिस्ट पेज सिस्टम। Windows.Forms.TabPage।

मेरा टैब नियंत्रण टैब कहा जाता है और मैं नीचे दिए गए कोड का उपयोग करके इसका परीक्षण करने की कोशिश कर रहा था, जिसे टैब विकल्प के आधार पर एक संदेश प्रदर्शित करना है।

private void Tabs_SelectedIndexChanged(object sender, EventArgs e) 

     { 
      if (Tabs.SelectedTab == TaskListPage) 
      { 
       MessageBox.Show("TASK LIST PAGE"); 
      } 
      else if (Tabs.SelectedTab == SchedulePage) 
      { 
       MessageBox.Show("SCHEDULE PAGE"); 
      } 
     } 

जब मैं ऊपर दिए गए कोड का परीक्षण करता हूं, तो कुछ भी नहीं हो रहा है।

किसी विशिष्ट टैब पर क्लिक होने पर ईवेंट को प्राप्त करने में कोई भी सहायता की सराहना की जाएगी!

ठनक

उत्तर

13

ऐसा लगता है कि आप इसे तार की जरूरत नहीं है:

public Form1() { 
    InitializeComponent();  
    Tabs.SelectedIndexChanged += new EventHandler(Tabs_SelectedIndexChanged); 
} 

अन्य घटनाओं है कि आप इस जानकारी के साथ दे सकते हैं कर रहे हैं: Selected और Selecting

void Tabs_Selected(object sender, TabControlEventArgs e) { 
    if (e.TabPage == TaskListPage) { 
    // etc 
    } 
} 
+0

धन्यवाद यह अब काम कर रहा है! :) – Rob

+0

मैं इसे यहां एक ही समस्या के समाधान की तलाश करने वालों के लिए जोड़ दूंगा। कन्स्ट्रक्टर चलाने के बाद तक इवेंट ट्रिगर नहीं होते हैं। यहां तक ​​कि हैंडलर को मैन्युअल रूप से जोड़कर लार्स सुझाव भी काम नहीं करता है। कोड जोड़ें जो फ़ॉर्म के लिए लोड इवेंट हैंडलर में ईवेंट को ट्रिगर करता है। – ensignr

0

यह पहला हिस्सा अपने नियमित रूप से कोड आप बस बताओ जो नियंत्रण फोकस के बाद टैब पृष्ठ क्लिक किया जाता है होना चाहिए में

public Form1() 
    { 
// This is near the top of the form 1 code in form1.cs 

     InitializeComponent(); 
     tabControl1.SelectedIndexChanged += new EventHandler(TabControl1_SelectedIndexChanged); 
    } 

फिर नीचे नीचे में चला जाता है। जो मेरे वर्ड प्रोसेसर में, मैंने एक समृद्ध टेक्स्ट बॉक्स और टैब नियंत्रण का उपयोग msword रिबन को अनुकरण करने के लिए किया था। मेरे मामले में रिच टेक्स्ट नियंत्रण यह वही है मैं अपने शब्द संसाधक कहते हैं के रूप में अपने टैब पृष्ठों रूप

private void TabControl1_SelectedIndexChanged(object sender, EventArgs e) 
    { 

     richTextBox1.Focus(); 
    } 

के शीर्ष पर हो सकता है 1 या 2 इंच को कवर एक टैब पृष्ठ पर नहीं है। यह यहां किसी भी व्यक्ति के लिए है जो इसका उपयोग करना चाहता है। Larry's Journal

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