2012-03-13 30 views
9

Sekme denetiminde tıklanan sekme sayfasında bulunan olayları otomatik olarak tetiklemeye çalışıyorum.TabPage Tıklama Olaylar

Formumun tasarım modunda, sekmeleri tıklattığımda özellikler kutusunun tablar sekmesini seçtiğini Tabs System.Windows.Forms.TabControl yazıyor. Ancak, asıl sayfaya tıklamak zorundayım, mülkün sekmesi sayfaların ismine değiştirmek için değil, örn. TaskListPage System.Windows.Forms.TabPage.

Sekme kontrolüm Sekmeler olarak adlandırıldı ve sekme seçeneğine dayalı bir iletiyi görüntülemesi gereken kodu kullanarak denemeye çalışıyordum.

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"); 
      } 
     } 

Yukarıdaki kodu test ettiğimde hiçbir şey olmuyor.

Belirli bir sekme tıklatıldığında etkinliklerin gerçekleştirilmesi konusunda herhangi bir yardım çok yararlı olacaktır!

Teşekkür

cevap

13

Size o kadar kablolu yok gibi geliyor:

yanı bu bilgi verebilir diğer etkinlik yok
public Form1() { 
    InitializeComponent();  
    Tabs.SelectedIndexChanged += new EventHandler(Tabs_SelectedIndexChanged); 
} 

: Selected ve Selecting.

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

Şimdi çalışıyor! :) – Rob

+0

Ben burada aynı sorun için bir çözüm arayanlar için buraya ekleyeceğim. Yapıcı çalıştırdıktan sonra kadar tetiklenen etmeyin. İşleyiciyi, Lars'ın önerdiği gibi manuel olarak eklemesi bile işe yaramıyor. Olayı tetikleyen kodu, Form için bir Yükleme olay işleyicisinde ekleyin. – ensignr

0

Bu ilk bölümü normal kod basitçe sekme sayfası tıklandıktan sonra odağı olmalıdır hangi denetim anlatmak içinde Sonra aşağı aşağıda

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

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

gider. Hangi kelime işlemcisinde, zengin bir metin kutusu ve msword şeridini simüle etmek için sekme denetimleri kullandım. Benim sekme sayfaları formu

private void TabControl1_SelectedIndexChanged(object sender, EventArgs e) 
    { 

     richTextBox1.Focus(); 
    } 

üstünde belki 1 veya 2 inç kapsayacak şekilde benim durumumda zengin metin kontrolü Bu benim kelime işlemci diyoruz bir sekme sayfasında değil. Kullanmak isteyen herkes için burada. Larry's Journal