2016-10-19 2 views
-1

私はC#に新しいですし、私は答えは、私はちょうど私が最初のものは、ランダムな値を生成し、2つのボタンが作成さ名は現在のコンテキスト(Windowsフォーム)に存在しない

を探してそれを見つけることができませんでした非常に簡単です知っています 2つ目は、別のボタン内部のIF文ですが、I`mは名前が現在のコンテキスト内に存在しません

を言って1value1の下に赤い線を取得

private void button3_Click(object sender, EventArgs e) 
{ 
    Random b = new Random(); 
    float value = b.Next(50, 100); 
} 
private void button2_Click(object sender, EventArgs e) 
{ 
    if (value < MinValue) 
    { 
     textBox18.Text = ("warning"); 
     textBox18.ForeColor = Color.White; 
     textBox18.BackColor = Color.Red; 
    } 
} 
+2

は 'フロート[値]は、ボタンのイベントハンドラの外側で宣言する必要があります – croxy

+0

[ここ]を見てください(https://msdn.microsoft.com/en-us /library/aa691132(v=vs.71).aspx)スコープを理解してください。 – Badiparmagi

+0

グローバルに 'value'と 'MinValue'を定義してください –

答えて

1

valueは、button3_Clickの範囲で定義されており、button2_Clickではアクセスできません。クラスの変数としてそれを置く:

private int _minValue = 50; 
private int _maxValue = 100; 

private float _value = _maxValue; 

private void button3_Click(object sender, EventArgs e) 
{ 
    Random b = new Random(); 
    _value = b.Next(_minValue, _maxValue); 
} 

private void button2_Click(object sender, EventArgs e) 
{ 
    if (_value < _minValue) 
    { 
     textBox18.Text = ("warning"); 
     textBox18.ForeColor = Color.White; 
     textBox18.BackColor = Color.Red; 
    } 
} 
+0

私の問題を解決してくれたありがとうございます – Lupin

+0

@Lupin - これが解決したら:) –

関連する問題