0

我有一个表格。这个表单可以打开一个编辑器,它扩展自 Form。编辑器具有您单击的链接,这会打开一个模式表单来定义该链接。

// Main form
private void OnMainForm_MouseClick(object sender, MouseEventArgs e)
{
    Editor editor = new Editor();
    editor.Show();
}



// editor
private void OnEditorLink_MouseClick(object sender, MouseEventArgs e)
{
    LinkConfigDialog linkDialog = new LinkConfigDialog();
    linkDialog.ShowModal();
}

这确保了用户不能单击并尝试修改已经编辑的其他链接(或相同的链接)。这是设计使然。

但是,现在我希望让人们打开多个编辑器。我仍然希望模态表单能够工作,但仅适用于那些编辑器,而不适用于整个应用程序。

我怎样才能做到这一点?

4

1 回答 1

1

我认为您应该在您的Editor课程中编写一个“冻结”您的编辑器对话框的方法。例如,通过禁用控件等。LinkDialog然后您可以在打开a 时调用该方法。这样,您可以拥有多个Editor仅由它们自己LinkDialog的 s 禁用的实例。您可以使用另一种方法来重新启用将在LinkDialog关闭时调用的控件。

于 2012-12-18T20:36:36.670 回答