2016-11-20 4 views
0

フォームアプリケーションにはテキストボックスと2つのボタンがあり、処理を開始する必要があり、空であればテキストボックスには無効にするボタンが必要です。 、ボタンは、それがグレーアウトしたまま、有効になりませんテキストボックスがヌルかどうかチェックしていません

public void buttonenableordisable() 
{ 
    if(String.IsNullOrEmpty(textBox1.Text)) 
    { 
     button1.Enabled = false; 
    } 
    else 
    { 
     button1.Enabled = true; 
    } 
} 

しかし、それは単なるテキストボックスにテキストを追加すると、ボタンが無効になります。私はgoogle'd助け、すなわちを試してみました。私も試したことがあります。

if (string.IsNullOrWhiteSpace(textbox1.Text)) 
{ 
    button1.Enabled = false; // <<== No double-quotes around false 
} 
else 
{ 
    // Don't forget to re-enable the button 
    button1.Enabled = true; 
} 

しかし、これはうまくいきません。何か案は ?

ありがとうございます。

+0

どのように 'buttonenordordisable()'が呼び出されていますか? –

+0

このコードを呼び出すイベントハンドラはどこですか? – Steve

+0

@DanWilsonは、フォーム()でそれを呼び出します。ここで、public Form2() { InitializeComponent(); buttonenableordisable(); } – Commongrate

答えて

1

テキストボックスのTextChangedイベントにバインドして、メソッドを呼び出す必要があります。また、単純化することもできます。

これはそのままで、フォームが読み込まれるときに一度だけメソッドを呼び出すことになります。

public void buttonenableordisable() 
{ 
    button1.Enabled = !String.IsNullOrEmpty(textBox1.Text); 
} 

private void textBox1_TextChanged(object sender, EventArgs e) 
{ 
    buttonenableordisable(); 
} 
+0

私はbuttonenableordisable()を呼び出します。メソッドがtextchangedの場合、テキストボックスが空の場合、ボタンはグレー表示されません。 – Commongrate

+0

私はそれをフォームでも呼びましたが、それは動作します、ありがとう。 – Commongrate

関連する問題