如果窗体处于打开状态,则禁用按钮和事件

本文关键字:按钮 事件 窗体 于打开 状态 如果 | 更新日期: 2023-09-27 17:57:40

我有两种形式。第一个表单通过以下方式从第二个表单获取信息://第一个表单

if (e.KeyCode == Keys.F4)
        {
            FormConsultaAdvogado fca = new FormConsultaAdvogado();
            fca.MdiParent = this.MdiParent;
            fca.Show();
        }

然后,在第二种形式中,我选择需要返回到第一种形式的内容:

 else if (FormClienteAberto())
        {
            if (e.KeyData == Keys.Enter)
            {
                FormCliente fdil = (FormCliente)Application.OpenForms["FormCliente"];
                fdil.textBox1.Text = dataGridView1.CurrentRow.Cells[0].FormattedValue.ToString();
                fdil.textBox2.Text = dataGridView1.CurrentRow.Cells[1].FormattedValue.ToString();
                this.Close();
            }
        }

在第二种形式中,我还有一个函数来验证第一种形式是否是开放的:

public bool FormClienteAberto()
    {
      try
        {
            Form fc = Application.OpenForms["FormCliente"];
            return fc != null;
        }
        catch (Exception)
        {
            return false;
        }
    }

所以,我的问题是:

第一个-我在第二个表单中有一个按钮,当第一个表单打开时,必须隐藏

第二-我有一个RowHeaderMouseDoubleClick事件,如果第一个表单也已经打开,我也需要禁用它。

希望你们能帮助我!!问候

如果窗体处于打开状态,则禁用按钮和事件

如果您只需要在打开第二个表单时确定这两件事,那么在第二个窗体的Load事件中应该可以执行以下操作:

if(FormClienteAberto())
{
    thatButton.Visible = false;
    thatDataGridView.RowHeaderMouseClick -= thatRowHeaderMouseClickEventHandler;
}