从其他表单设置控件可见

时间:2013-07-07 12:05:49

标签: c# winforms controls

我将按钮的visible属性设置为Form2的false。当我从Form2点击按钮(同时打开Form2的按钮)时,我将如何显示按钮(Form1)。

我试过了:

private void button1_Click(object sender, EventArgs e)
{
    Form2 f2 = new Form2();
    f2.Show();
    f2.button1.Visible = true;
    f2.button1.Location = new Point(200, 200);
}

3 个答案:

答案 0 :(得分:4)

在Form2中创建一个方法

public void setButton1Visible(boolean flag){
      this.button1.Visible = flag;
}

您无法直接从Form1访问该按钮。 (实际上你可以,但这不是解决它的正确方法。

private void button1_Click(object sender, EventArgs e)
    {
        Form2 f2 = new Form2();
        f2.Show();
        f2.setButton1Visible(true);
    }

答案 1 :(得分:1)

我认为button1被声明为私有。如果将button1声明为public,则代码将起作用。

public System.Windows.Forms.Button button1;

答案 2 :(得分:1)

想象一下你控制的形式是1.从控制属性窗口设置相应的控件“modifiers = public”

表格1

    private void ShowForm2_Click(object sender, EventArgs e)
    {
        Form2 NewForm = new Form2();
        NewForm.Owner = this;
        NewForm.Show();
    }

表格2

    private void ChangeProperty_Click(object sender, EventArgs e)
    {
       (this.Owner as Form1).MyButton.Visible = false;
    }

    //while doing this Control In Form1 will be hidden :)