Konuyu Değerlendir
  • 1 Oy - 5 Ortalama
  • 1
  • 2
  • 3
  • 4
  • 5
Windows Formlarda Otomatik Eklenen Fonksiyonu Silme
#1
Star 
Herkese merhaba. Bugün size kodlarımızın daha düzenli olmasını engelleyen ve eminim ki bir çoğumuzun karşılaştığı bir hatanın çözümünü göstereceğim.
Bu hata niteliğindeki olay ise Windows Form'da yanlışlıkla iki kere tıkladığımızda açılan otomatik fonksiyonlar (metotlar).

[Resim: QP2B7k.png]

Mesela ben yukarıda label1'i taşırken bu fonksiyonun açıldığını varsayalım bunu direk olarak sildiğimizde ve Formumuza geri döndüğümüzde şöyle bir ekran bizi bekliyor olacaktır.

[Resim: Z53kOa.png]

Bu hata karşımıza geldiğinde ne olduğunu ilk başta anlamak zor oluyor ama hatanın nedeni şu:
Bizim yazmadığımız kod parçalarında bir fonksiyon tanımlanmış ama nedeni bilinmeyen bir şekilde ortadan kaldırıldığına dair Visual Stuido'nun bize gösterdiği hata. 
Bunu düzeltmek aşırı kolay. Altı çizili olarak bulunan ve "Go to code" yazısına tıklıyoruz. Bu bizi, sistemin otomatik olarak yazdığı kod parçalarına götürecek.

[Resim: 7BDg65.png]

Bu kodların hiç birini biz yazmadık. Bunu biz bir tool sürükleyip bıraktığımızda sistemin kendisinin otomatik olarak doldurduğu kısımlar. 
Normalde hatalı bir yer yazdığımızda derleyiciler o yerin altını çziiyorsa bunda da "(this.Label1_Click)" yazısı kırmızı ile çizili. Bizim sildiğimiz fonksiyonun adı da öyleydi. O kodun bulunduğu satırı komple olarak silip başka herhangi bir şeye dokunmuyoruz. Kaydedip Form ekranına döndüğümüzde hatanın düzeldiğini ve Events'larda Label'in Click olayının boşaldığını görüyoruz.


Bu performans olarak Windows Form'da pek etkilemeyecek de olsa daha düzenli bir kod kullanımı bize sunuyor.
Bu yazıyı normalde yazmazdım ama bunu anlatan hiç kimse bulamadım. Programlama dersi veren hocalar genelde bunu silme gereği duymuyor ama büyük projelerde bu hayat kurtarabilir. 

Umarım bu yazı sizin için faydalı olmuştur. Görüşlerinizi yorum olarak belirtmeyi unutmayınız. İyi günler dilerim.
Bul
Alıntı
#2
Bilgilendirici bir çözüm olmuş, tebrik ederim. Yabancı dil konusunda kendini yeni geliştirmeye başlayanlar için çıldırtıcı bir sorun olabiliyor missing click event o yüzden makul bir anlatım olmuş.
Structure Engineer & Software Developer & Finite Element Analysis Inspector & Multidisciplinary Designer
Gained Skills: Asp.Net Core / Xamarin / JavaScript / XAML / WPF / .Net Core API / ML.Net / Azure Cloud
Bul
Alıntı
#3
(08-14-2019, 07:24 PM)Yağmur demiş ki: Herkese merhaba. Bugün size kodlarımızın daha düzenli olmasını engelleyen ve eminim ki bir çoğumuzun karşılaştığı bir hatanın çözümünü göstereceğim.
Bu hata niteliğindeki olay ise Windows Form'da yanlışlıkla iki kere tıkladığımızda açılan otomatik fonksiyonlar (metotlar).

[Resim: QP2B7k.png]

Mesela ben yukarıda label1'i taşırken bu fonksiyonun açıldığını varsayalım bunu direk olarak sildiğimizde ve Formumuza geri döndüğümüzde şöyle bir ekran bizi bekliyor olacaktır.

[Resim: Z53kOa.png]

Bu hata karşımıza geldiğinde ne olduğunu ilk başta anlamak zor oluyor ama hatanın nedeni şu:
Bizim yazmadığımız kod parçalarında bir fonksiyon tanımlanmış ama nedeni bilinmeyen bir şekilde ortadan kaldırıldığına dair Visual Stuido'nun bize gösterdiği hata. 
Bunu düzeltmek aşırı kolay. Altı çizili olarak bulunan ve "Go to code" yazısına tıklıyoruz. Bu bizi, sistemin otomatik olarak yazdığı kod parçalarına götürecek.

[Resim: 7BDg65.png]

Bu kodların hiç birini biz yazmadık. Bunu biz bir tool sürükleyip bıraktığımızda sistemin kendisinin otomatik olarak doldurduğu kısımlar. 
Normalde hatalı bir yer yazdığımızda derleyiciler o yerin altını çziiyorsa bunda da "(this.Label1_Click)" yazısı kırmızı ile çizili. Bizim sildiğimiz fonksiyonun adı da öyleydi. O kodun bulunduğu satırı komple olarak silip başka herhangi bir şeye dokunmuyoruz. Kaydedip Form ekranına döndüğümüzde hatanın düzeldiğini ve Events'larda Label'in Click olayının boşaldığını görüyoruz.


Bu performans olarak Windows Form'da pek etkilemeyecek de olsa daha düzenli bir kod kullanımı bize sunuyor.
Bu yazıyı normalde yazmazdım ama bunu anlatan hiç kimse bulamadım. Programlama dersi veren hocalar genelde bunu silme gereği duymuyor ama büyük projelerde bu hayat kurtarabilir. 

Umarım bu yazı sizin için faydalı olmuştur. Görüşlerinizi yorum olarak belirtmeyi unutmayınız. İyi günler dilerim.

Anlatım için teşekkürler. Bir çok kişinin bu problemle karşılaştığına eminim. Güzel bir anlatım olmuş tebrikler..
İlgi Alanlarım ;
C# - Unity - Android Java
Kendi Serverinizi yazarak Online oyun nasıl yapılır anlatıyorum.
Ders Linklerim :
Udemy : https://www.udemy.com/share/101e6g
Youtube : https://www.youtube.com/c/numankaankaratas
Bul
Alıntı
#4
Bilgilendirme için teşekkürler bir çok arkadaşın işine yarayacaktır
Bul
Alıntı


Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi