Çözüldü C# text box içi boş iken button enabled false yapmak

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

cLaww

Hectopat
Katılım
12 Haziran 2019
Mesajlar
715
Çözümler
7
Yer
İstanbul
Daha fazla  
Cinsiyet
Erkek
Meslek
Veritabanı Programcılığı
Merhaba, aşağıda resimde gördüğünüz duyuru panelinde rich Textbox'ın içi boş iken Button'un enabled özelliği "false" olsun. İçine bir yazı yazıldığı zaman enabled özelliği "true" olsun istiyorum, bir türlü çözemedim. :( Ben şöyle denedim yapmayı olmadı. Yardımcı olur musunuz? Form load'ına yazıyorum bu arada. Bakmadığım çözüm kalmadı bir türlü bulamadım :/ Form açıldığı zaman olsun istiyorum. Açıldığı an içi boş olduğundan button tıklanamasın rich text Box'a 1 harf dahi yazsam button aktifleşsin.

Kod:
İf (rchduyuru. Text == "")

{

Btnduyuruolustur. Enabled = false;

}

Else.

{

Btnduyuruolustur. Enabled = true;

}
 

Dosya Ekleri

  • 1612658204809.png
    1612658204809.png
    51,6 KB · Görüntüleme: 203
Son düzenleyen: Moderatör:
Çözüm
Merhaba, aşağıda resimde gördüğünüz duyuru panelinde rich Textbox'ın içi boş iken Button'un enabled özelliği "false" olsun. İçine bir yazı yazıldığı zaman enabled özelliği "true" olsun istiyorum, bir türlü çözemedim. :( Ben şöyle denedim yapmayı olmadı. Yardımcı olur musunuz? Form load'ına yazıyorum bu arada. Bakmadığım çözüm kalmadı bir türlü bulamadım :/ Form açıldığı zaman olsun istiyorum. Açıldığı an içi boş olduğundan button tıklanamasın rich text Box'a 1 harf dahi yazsam button aktifleşsin.

Kod:
İf (rchduyuru. Text == "")

{

Btnduyuruolustur. Enabled = false;

}

Else.

{

Btnduyuruolustur. Enabled = true;

}

Textchanged Event olayına yazmanız lazım o kodları.

C#:
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text.Length == 0)
button1.Enabled = false;
else
button1.Enabled = true;
Merhaba, aşağıda resimde gördüğünüz duyuru panelinde rich Textbox'ın içi boş iken Button'un enabled özelliği "false" olsun. İçine bir yazı yazıldığı zaman enabled özelliği "true" olsun istiyorum, bir türlü çözemedim. :( Ben şöyle denedim yapmayı olmadı. Yardımcı olur musunuz? Form load'ına yazıyorum bu arada. Bakmadığım çözüm kalmadı bir türlü bulamadım :/ Form açıldığı zaman olsun istiyorum. Açıldığı an içi boş olduğundan button tıklanamasın rich text Box'a 1 harf dahi yazsam button aktifleşsin.

Kod:
İf (rchduyuru. Text == "")

{

Btnduyuruolustur. Enabled = false;

}

Else.

{

Btnduyuruolustur. Enabled = true;

}

Textchanged Event olayına yazmanız lazım o kodları.

C#:
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text.Length == 0)
button1.Enabled = false;
else
button1.Enabled = true;
 
Çözüm
Üstte de belirtildiği gibi TextChanged eventini kullanmanız gerek. Formun Load eventi sadece form başlarken çağrılır, bu nedenle daha sonra yapacağınız değişiklikler fark etmiyor.

Textboxın boş olup olmadığını kontrol etmek için de alternatif olarak String.IsNullOrEmpty() kullanabilirsiniz. Boşluğun da geçerli olmamasını istiyorsanız String.IsNullOrWhiteSpace() kullanabilirsiniz.

Event kullanmak dururken timer mı? Kusura bakmayın ama çok saçma gerçekten.
 
Son düzenleme:
Üstte de belirtildiği gibi textchanged Event'ini kullanmanız gerek. Formun load Event'i sadece form başlarken çağrılır, bu nedenle daha sonra yapacağınız değişiklikler fark etmiyor.

Textboxın boş olup olmadığını kontrol etmek için de alternatif olarak String.IsNullOrWhiteSentence() kullanabilirsiniz. Boşluğun da geçerli olmamasını istiyorsanız String.IsNullOrWhiteSpace() kullanabilirsiniz.

Event kullanmak dururken timer mı? Kusura bakmayın ama çok saçma gerçekten.

Bencede timer kullanıp programı sürekli Loop'ta tutmak gereksiz bellek kullanımı ve işlemci kullanımına yol açar uzun vade de optimizasyon sorununa neden olur.
 
Form_Load ve RichTextBoxTextChanged Eventleri içerisinde alttaki satır olursa istediğiniz olur.
C#:
 this.buttonSubmit.Enabled = this.richTextBox.Text.Length != 0;

Eğer birden fazla RichTextBox, Button ikilisi varsa;
C#:
private static void CheckRichTextBox(RichTextBox rtb, Button btn)
{
    btn.Enabled = rtb.Text.Length != 0;
}

Şeklinde method haline getirilip. Sadece hangi richTextBox, button ikilisinin bir birine bağlı olduğunu belirtmeniz yeterli.
 
Textchanged Event olayına yazmanız lazım o kodları.

C#:
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text.Length == 0)
button1.Enabled = false;
else.
button1.Enabled = true;

Teşekkürler reisim kralsın <3 :)
Teşekkürler reisim kralsın <3 :)

Bir şey daha sormak istiyorum, 2 adet combobox 2 adet masked text box içlerinden 1 tanesi dahi boş olsa button basılmasın istiyorum. Bunu nasıl yaparız acaba :)
 

Yeni konular

Geri
Yukarı