隐藏对话框结果链接的模式WinForms控件

隐藏对话框结果链接的模式WinForms控件,winforms,modal-dialog,Winforms,Modal Dialog,我有: 正在运行的应用程序 RuleSetForm已从主应用程序启动 CustomPropertyForm从RuleSetForm启动 我需要从CustomPropertyForm中进行外部选择,在它隐藏时返回到它,最后单击取消/确定而不影响RuleSetForm。这就是我如何称呼CustomPropertyForm的 if (new CustomPropertyForm(this._doc, ref this._ruleSet).ShowDialog() == DialogResult.OK)

我有:

  • 正在运行的应用程序
  • RuleSetForm已从主应用程序启动
  • CustomPropertyForm从RuleSetForm启动
  • 我需要从CustomPropertyForm中进行外部选择,在它隐藏时返回到它,最后单击取消/确定而不影响RuleSetForm。这就是我如何称呼CustomPropertyForm的

    if (new CustomPropertyForm(this._doc, ref this._ruleSet).ShowDialog() == DialogResult.OK)
    {
       // Action
    }
    

    我订阅了选择元素的外部事件,因此基本上,我需要在选择时隐藏这些表单,并在选择完成后取消隐藏它们,而不会触发CustomPropertyForm上的任何对话框结果。到目前为止,我取得的成就是:

    private void btnSelectElements_Click(object sender, EventArgs e) => this.Hide();
    

    但问题是,当我单击“选择元素…”时,它将触发DialogResult并显示RuleSetForm,这将进一步阻止对屏幕的访问(从而选择元素)


    有什么解决办法吗?希望我足够清楚…

    我认为如果您显示更多代码,会有所帮助。例如,“选择元素”按钮的“单击”事件和“选择元素”对话框的最小结果代码。请不要做简短的一行代码片段。我认为如果你能展示更多的代码会有所帮助。例如,“选择元素”按钮的“单击”事件和“选择元素”对话框的最小结果代码。请不要做简短的一行代码片段。
    private void CurrentSelection_Changed(object sender, EventArgs e) => this.Visible = true;