winforms, tıklandığında, ancak etiket üzerinde tıklandığında değilken olayı olacaktır GameButton usercontrol - ve de istiyorum. Bunun nedeni, etiketin (kontrol) arka planın üstünde olmasıdır. Bu nedenle, etiketinizi tıklama etkinliği ile de kaydetmeniz gerekir. Bu, tasarımcıda elle veya sayfadaki her kontrol için programlı olarak yapılabilir. Eğer UserControl HER kontrolünü yapmak istiyorsanız
, UserControl'ın OnLoad olayı içine bu koymak ve her denetim için aynı tıklama olayını kullanabilirsiniz:
foreach(Control c in this.Controls){
c.Click += new EventHandler(yourEvent_handler_click);
}
public void yourEvent_handler_click (object sender, EventArgs e){
//whatever you want your event handler to do
}
DÜZENLEME: en iyi yolu oluşturmaktır Kullanıcı kontrolündeki olay işleyici özelliğini tıklayın. Bu şekilde, kullanıcı kontrolünüze bir tıklama olayı eklediğinizde/kaldırdığınızda, kullanıcı denetimi içindeki tüm kontrollere otomatik olarak ekler/kaldırır. Bu yardımcı olur
Umut:
public new event EventHandler Click {
add {
base.Click += value;
foreach (Control control in Controls) {
control.Click += value;
}
}
remove {
base.Click -= value;
foreach (Control control in Controls) {
control.Click -= value;
}
}
}
Bu da başka post başına gibidir!
UI çerçevesi (Win, WPF, Webforms MVC)? –
üzgün, – Oztaco
Ayrıca etiketleri dahil kaçının winforms Sorunuzla ilgisi olmayan çok az şey var (ör. görsel-stüdyo) –