2017-03-08 5 views
0

がここに私のコードですunclickableです:C#のpictuboxが空の場合は、ボタン2は、ボタン3とテキストボックスは

if (pictureBox1.Image == null) 
{ 
    button2.Enabled = false; 
    button3.Enabled = false; 
    textbox1.Enabled = false; 
} 
else 
{ 
    button2.Enabled = true; 
    button3.Enabled = true; 
    textbox1.Enabled = true; 
} 

私の問題は、私はpicturebox1に画像をアップロードする際に、button3textbox1はまだ無効になっていることです。

+1

これはどのアプリケーションですか?ウェブウィンドウまたはwpf? –

+0

ooppss申し訳ありませんが、私の悪いのWindowsアプリケーションのフォーム。 – kools

+2

あなたはこれにどのような出来事をしていますか? –

答えて

0

イメージが変更されるたびにそのコードを実行する必要があります。イメージを変更するたびにメソッドを呼び出して呼び出すか、ピクチャボックスのイベントを選択して気にする必要はありません。

paintイベントit fires whenever the control is redrawnを使用できます。これは、画像をロードするときにイベントが発生するように、画像がロードされるときに発生します。ペイントイベントの

例:ダウン有権者
については

public Form1() 
{ 
    InitializeComponent(); 
    pictureBox1.Paint += pictureBox1_Paint; 
} 

private void pictureBox1_Paint(object sender, PaintEventArgs e) 
{ 
    if (pictureBox1.Image == null) 
    { 
     //Disable buttons 
    } 
    else 
    { 
     //Enable buttons 
    } 
} 

このOPは、あなたが画像を変更する際に塗料が呼び出される、欲しいまさにありません。
例:pictureBox1.Image = Image.FromFile("something.png")は、paintイベントを呼び出します。
したがって、Imageプロパティが変更されている可能性がある場合は、オペレータがチェックしたい場合は、ペイントイベントが必要です。だからあなたがより良い説明をしているか、私が間違っていたことを教えてもらえたら、コメントを残してください。

TL; DR
あなたにそれを説明するコメントを残してください。

関連する問題