2016-12-28 6 views
0

C#で実行時にフォームにPictureBoxを追加していますが、これはうまくいきます。私はピクチャボックスのプロパティをメソッドの外部からもメソッド内部からも変更することはできません。私はBackColorを変更することさえできません。実行時にピクチャボックスを追加し、プロパティを変更する(他のメソッドから)

これは私の試みです:

private void Form1_Load(object sender, EventArgs e) 
{ 
    PictureBox canvas = new PictureBox(); 
    canvas.Dock = DockStyle.Fill; 
    canvas.BackColor = Color.Red; 
} 

のPictureBoxは今、全体のフォームを記入し、赤の背景を持っているが、それは動作しません必要があります。

また、他のメソッドからプロパティを変更できるように、「公開する」PictureBoxを追加するにはどうすればよいですか?

は、私はこのようにそれを試してみました。いいスタートだ

PictureBox canvas = new PictureBox 
{ 
    Dock = DockStyle.Fill, 
    BackColor = Color.Red 
}; 

private void button1_Click(object sender, EventArgs e) 
{ 
    canvas.BackColor = Color.Red; 
} // Now I can use "canvas" in other methods without any errors but still nothing happens 
+0

フォームに画像ボックスを追加する必要があります。例については、フォームのデザイナーファイルを参照してください。 –

答えて

0

PictureBox canvas = new PictureBox 
{ 
    Dock = DockStyle.Fill, 
    BackColor = Color.Red 
}; 

private void button1_Click(object sender, EventArgs e) 
{ 
    canvas.BackColor = Color.Red; 
} 

しかし、あなたはあなたのフォームにそのボックスを追加する必要があります。

private void Form1_Load(object sender, EventArgs e) 
{ 
    this.Controls.Add(canvas); 
} 

それはとして働いていたら、予想される場合はcanvasフィールドを_canvasと呼びます。これはプライベートフィールドですこのクラス(フォーム)の

+0

ありがとう!それが私の問題を解決しました。 –

関連する問題