Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winforms 如何打开仅锁定父窗体的子窗体?_Winforms_C# 4.0_Ownership_Owner - Fatal编程技术网

Winforms 如何打开仅锁定父窗体的子窗体?

Winforms 如何打开仅锁定父窗体的子窗体?,winforms,c#-4.0,ownership,owner,Winforms,C# 4.0,Ownership,Owner,我想打开一个只锁定其父窗体的子窗体。我无法使用ShowDialog(),因为它会锁定所有打开的表单,直到对话框关闭 主要形式 -用户表单 -服务表格 当我在用户窗体上以添加新用户的方式打开新的子窗体时,我希望只锁定用户窗体,但我也可以在主窗体上打开服务窗体或任何其他窗体 有什么建议吗?借鉴了他的想法。基本上,当您打开“添加新用户”时,禁用调用表单。当“添加新用户”关闭时,启用调用窗体。我在下面举了一个例子 public partial class Form1 : Form { F

我想打开一个只锁定其父窗体的子窗体。我无法使用ShowDialog(),因为它会锁定所有打开的表单,直到对话框关闭

主要形式 -用户表单 -服务表格

当我在用户窗体上以添加新用户的方式打开新的子窗体时,我希望只锁定用户窗体,但我也可以在主窗体上打开服务窗体或任何其他窗体

有什么建议吗?

借鉴了他的想法。基本上,当您打开“添加新用户”时,禁用调用表单。当“添加新用户”关闭时,启用调用窗体。我在下面举了一个例子

    public partial class Form1 : Form
{
    Form2 frm2;
    Form3 frm3;
    public override bool Focused
    {
        get
        {
            return HasFocus;
        }
    }
    private bool HasFocus = false;
    public Form1()
    {
        InitializeComponent(); 

        frm3 = new Form3();

    }

    void frm2_FormClosed(object sender, FormClosedEventArgs e)
    {
        frm2.FormClosed -= frm2_FormClosed;
        this.Enabled = true;
    }



    private void button1_Click(object sender, EventArgs e)
    {
        frm2 = new Form2();
        frm2.FormClosed += frm2_FormClosed;
        frm2.Show();
        this.Enabled = false;
    }

    private void button2_Click(object sender, EventArgs e)
    {
        frm3.Show();
    }
}