【问题标题】:Enable/disable an ordinary button on Form2 from Form1从 Form1 启用/禁用 Form2 上的普通按钮
【发布时间】:2013-08-27 17:09:46
【问题描述】:

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

假设我在 Form1 上有一个工具条菜单。单击 Kalibracio 选项会打开第二个表单(也称为 Kalibracio - 不是 Form2)。然后,单击菜单中的 Proba 应该禁用 Kalibracio 表单上的一个普通按钮,该按钮的属性设置为 public。 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)
    }

我错过了什么?

【问题讨论】:

  • 确切地说,我所需要的只是更改从 from Form1 打开的表单 Kalibracio 上的属性,并且我想进行该更改 from i> Form1 .... 我觉得我把它弄得一团糟

标签: forms exception button controls


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-12
    • 2023-04-07
    • 1970-01-01
    相关资源
    最近更新 更多