从Form1启用/禁用Form2上的普通按钮

时间:2013-08-27 17:09:46

标签: forms exception button controls

我需要一些帮助。我已经阅读了这个网站好几天了,并且已经阅读了许多关于控制例如来自另一个表单的按钮属性的提示。在Youtube上甚至还有一个视频,它对我来说是独立的,但是当我在我的应用程序中实现它时,它会抛出一个NullReferenceException。

假设我在Form1上有一个工具条菜单。点击Kalibracio选项打开第二种形式(也称为Kalibracio - 而不是Form2)。然后,单击菜单中的Proba将禁用Kalibracio表单上的普通按钮,该按钮将设置为公共。 Form1上的代码如下:

    private void kalibracioToolStripMenuItem_Click(object sender, EventArgs e)
    {
        Kalibracio Kalibr = new Kalibracio(this);
        Kalibr.Owner = this;
        Kalibr.Show();
    }

    private void probaToolStripMenuItem_Click(object sender, EventArgs e)
    {
        if (Application.OpenForms.OfType<Kalibracio>().Any())
            (this.Owner as Kalibracio).button1.Enabled = false;
    // the above line throws a NullReferenceExcteption if Kalibracio form is open (Kalibracio is null)
    }

我错过了什么?

1 个答案:

答案 0 :(得分:0)

LoL只需将全局声明为Kalibracio的实例,打开它然后从所有其他方法访问它的属性。 我一开始尝试这种方法,但我的问题是我在本地创建和实例,然后我不得不在其他方法中创建另一个,因为我无法解决在本地创建的前一个,并且它不起作用。 ..