C# dilinde bir buton içindeki kodu diğer butonla tetiklemek için çok sayıda yöntem vardır.
Bunların içindeki en iyi ve en doğru çalışan özellik PerformClick() özelliğidir.
PerformClick() özelliği, herhangi bir metod içinde kullandığınız zaman başka bir buton içindeki kodun çalışmasını sağlar.
Uygulama:
Button2 kodu:
C#:
Button1.PerformClick();
Button1 Kodu:
C#:
MessageBox.Show("Technopat Sosyal");
Görüldüğü üzere Button2'ye basıldığı zaman Button1 içindeki kod devreye giriyor. PerformClick() özelliği OOP, yani Nesne Tabanlı Programlama için oldukça önemli bir özelliktir.
Ek bilgi: Button içindeki kodu çalıştırmak için buton gerekli değildir. Bir görsele de tıklama eventi yaptığınız zaman yine çalışacaktır.
C# dilinde bir buton içindeki kodu diğer butonla tetiklemek için çok sayıda yöntem vardır.
Bunların içindeki en iyi ve en doğru çalışan özellik PerformClick() özelliğidir.
PerformClick() özelliği, herhangi bir metod içinde kullandığınız zaman başka bir buton içindeki kodun çalışmasını sağlar.
Uygulama:
Button2 kodu:
C#:
Button1.PerformClick();
Button1 Kodu:
C#:
MessageBox.Show("Technopat Sosyal");
Görüldüğü üzere Button2'ye basıldığı zaman Button1 içindeki kod devreye giriyor. PerformClick() özelliği OOP, yani Nesne Tabanlı Programlama için oldukça önemli bir özelliktir.
Ek bilgi: Button içindeki kodu çalıştırmak için buton gerekli değildir. Bir görsele de tıklama eventi yaptığınız zaman yine çalışacaktır.
Bu propagate olan bir olay mi, yani "PerformClick" yaparak bu eventi sistem icinde ayni thread'de dolastirabilir miyim?
Btn1 : Btn2.PerformClick()
Btn2: Btn1.PerformClick()
Ustteki gibi birbirini cagiran 2 fonksiyon yazilmasi durumunda, kullanici UI'dan Btn1'e bastiginda StackOverflow mu yiyecek yoksa Akilli bir Propagate mekanizmasi var ve event sadece ilk trigger'dan sonra sonlanacak mi?
Bu propagate olan bir olay mi, yani "PerformClick" yaparak bu eventi sistem icinde ayni thread'de dolastirabilir miyim?
Btn1 : Btn2.PerformClick()
Btn2: Btn1.PerformClick()
Ustteki gibi birbirini cagiran 2 fonksiyon yazilmasi durumunda, kullanici UI'dan Btn1'e bastiginda StackOverflow mu yiyecek yoksa Akilli bir Propagate mekanizmasi var ve event sadece ilk trigger'dan sonra sonlanacak mi?
Bu propagate olan bir olay mi, yani "PerformClick" yaparak bu eventi sistem icinde ayni thread'de dolastirabilir miyim?
Btn1 : Btn2.PerformClick()
Btn2: Btn1.PerformClick()
Ustteki gibi birbirini cagiran 2 fonksiyon yazilmasi durumunda, kullanici UI'dan Btn1'e bastiginda StackOverflow mu yiyecek yoksa Akilli bir Propagate mekanizmasi var ve event sadece ilk trigger'dan sonra sonlanacak mi?
@bitwise evet hocam, maalesef Stack yiyor.
.NET tarafında pek verimli kod parçaçğı bulmak mesela bu gibi şeyler için.
Class kullanmak dışında hazır fonklsiyon olarak test ettiklerimden en verimlisi bu doğrusu.
@bitwise evet hocam, maalesef Stack yiyor.
.NET tarafında pek verimli kod parçaçğı bulmak mesela bu gibi şeyler için.
Class kullanmak dışında hazır fonklsiyon olarak test ettiklerimden en verimlisi bu doğrusu.
@bitwise evet hocam, maalesef Stack yiyor.
.NET tarafında pek verimli kod parçaçğı bulmak mesela bu gibi şeyler için.
Class kullanmak dışında hazır fonklsiyon olarak test ettiklerimden en verimlisi bu doğrusu.
Kastettiğin şey eğer kullanıcının tıklayıp tıklamamasını ayırt etmekse bunu alternatif olarak Boolean ile yapabilirsin. Sadece 1 byte cık ram kaybı olur. Bu da büyük bir problem değil günümüz için.
Kastettiğin şey eğer kullanıcının tıklayıp tıklamamasını ayırt etmekse bunu alternatif olarak Boolean ile yapabilirsin. Sadece 1 byte cık ram kaybı olur. Bu da büyük bir problem değil günümüz için.
Mesele coupling, memory degil.
Event'i atan ile dinleyeni birbirine bagimli hale getirirsin o dedigin "1 byte cik" cozum ile. Bu da event-driven programlamanin icinden gecmek demek, direkt cagir dinleyen fonksiyonu daha iyi.