0

こんにちは私はC#でWindowsフォームを使用しています。画像の表示プロパティをメインフォームから別のフォームに変更しようとしています。最初は、画像ボックスの表示プロパティはfalseに設定されています。別のフォームからボタンをクリックすると、画像ボックスの表示プロパティがtrueに変更されます。

これは、Form2メソッドで記述されたコードです。

private void button_Click(object sender, EventArgs e)
{
    public Form1 frm1 = new Form1();
    frm1.pictureBox.Visible= true;
}
4

3 に答える 3

2

Form1はインスタンスタイプなので、そうするとき

public Form1 frm1 = new Form1();
frm1.pictureBox.Visible= true;

Form1元の とはまったく関係のないの新しいインスタンスを作成し、Form1その上で画像ボックスの表示可能なプロパティを変更してから、それを破棄しているだけです。


あなたができることは、クラスForm1内の「親」への参照を置くことです。Form2

これが例です

public partial class Form2 : Form
{
    public Form2(Form1 parent)
    {
        InitializeComponent();
        this.Parent = parent;
    }

    Form1 Parent;

    private void button1_Click(object sender, EventArgs e)
    {
        Parent.pictureBox.Visible= true;
    }
    ...
}
于 2013-03-22T15:55:27.877 に答える
0

そこでフォームのインスタンスを作成します:

public Form1 frm1 = new Form1();

これは明らかに、ページに既にある可能性のあるフォームではなく、ID で簡単にアクセスできます。

于 2013-03-22T15:58:20.617 に答える