temizle clickte sana sender ile kimin yolladığı gelecek. oradan ayırt edebilirsin. bi üst mesajda var. üst mesajda override bilmem ne gerek yok. direk olarak click içinde gelecek sender - xx yerde hata var. - ya aslında kod şyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...

bütün kontrollerin mouseover voidini override yap. controlun gettype sinden sırayla hangi kontrol olduğunu bul ondan sonra bulduğun kontrolü gerçek tipine çevir Label lbl= control şeklinde. oradan da lbl. Id ile id sini çek. bu kadar uzun yazdığıma bakma çok basit. türk kızlarından sabun yapalım, rus kızları elini yıkasın.:)

Formumda birkaç sayfadan oluşan bir tabcontrol mevcut sayfaların içinde de veri gsterdiğim datagrid, listbox, treeview nesneleri var. bu nesnelere contextmenustrip eklemek istiyorum fakat hepsine ayrı ayrı contextmenustrip eklemek yerine rneğin yenileToolStrip in click eventında tıklamanın hangi controlden geldiğini bulup ona gre işlem yapmam gerekiyor yani void yenileToolStrip_click //yada if(gelen list1) } gibi mouse position'a gre mouseun altındaki controlü bulmaya çalıştım (http://stackoverflow.com/questions/2411062/how-to-get-control-under-mouse-cursor) (http://stackoverflow.com/questions/586479/is-there-a-quick-way-to-get-the-control-thats-under-the-mouse) // Console. Writeline(ControlNavigatorHelper. getYoungestChildUnderMouseControl . Name); fakat rnek parametre olarak tabcontrol veriyorum bana tabPage dnüyor grid dnmüyor. bu olayı en kısa nasıl halledebilirim? Teşekkürler :)

Yapmak istediğin şeyi tam olarak anlıyamadığımdan kesin bi cevap veremiyorum, Eğer forum da ki belli nesnelere context menü vermek istiyorsan ve bunu tek tek yapmak istemiyorsan formun loadında yada kurucu methodunda forum controllerini foreach ile çekersin istediğin türdeki nesneleri sorgu ile kontrol edersin uyarsa context menünü ayalarlarsın. IF YOU ARE NOT TİRED, YOU ARE NOT DOING IT RIGHT

istedigi mause'nin altinda ne var onu bulmak anladigim kadari ile dogrumu? Bu aralar fazla yogunum. Unuttugum seyler oluyorsa affola. DM vs atın.

Senin bulduğun rnektekiler form eventlerinde kullanınca sadece formun childlarında işe yaradı. GetChildAtPoint methodu form'un childlarının childlarına bakmıyor. O yüzden bende aşağıdaki gibi bir yaklaşımla tüm controllere mouse eventi verdim. Aşağıdaki eventte hangi kontrolün üzerine tıklanırsa o event çalışacağı için controlü console'a yazdırabiliyor. Tabii bu yaklaşım senin tam istediğin olmayabilir. Düşüncelerini bekliyorum. public Form1 private void setMouseClickEventToChild { foreach } public void c_MouseClick { if } enginkirmaci.com | Kişisel web sitesi, uyetakip.com | Ücretsiz Üye Takip Programı

: temizle clickte sana sender ile kimin yolladığı gelecek. oradan ayırt edebilirsin. bi üst mesajda var. üst mesajda override bilmem ne gerek yok. direk olarak click içinde gelecek sender :) ben başlığı okudum ve direk daldım. tıklamasına gerek kalmadan hangi controlün üstünde olduğunu bulması gerektiğini anlattım. ama demekki mesajıda okumak gerekiyormuş :) başlık biraz eksik olmuş :) sorunun net cevabına gelince : Control cnt = sender; switch (cnt. GetType . Name. ToString türk kızlarından sabun yapalım, rus kızları elini yıkasın.:)

teşekkürler beyler sender ile yapabildim :) Control _control = sender). Owner). SourceControl; ile control alıp _control. GetType . Name controlün ne olduğu _control. Name ile control adı alınabiliyor. //RNEK Control _control = sender). Owner). SourceControl; switch (_control. GetType . Name)