对于以下问题的任何指导将不胜感激。我应该在哪个 MDIParent 事件中禁用项目/按钮?活性?在程序启动时,我希望禁用按钮。如果没有活动的 MDIChildren,我希望禁用这些按钮。当我启动子表单时,我想测试该子表单的数据。如果它是空白表单,我希望按钮保持禁用状态。我目前在 MdiChildActivated 事件处理程序中有我的代码。谢谢你的时间。
问问题
1810 次
2 回答
0
我使用激活事件来禁用所有项目/按钮。在 MDIChildActive 事件中,我测试了一个空白表单。如果不是空白,我启用项目/按钮。
于 2010-04-27T20:01:11.443 回答
-1
我会使用 MDI 父表单的 MdiChildActivate 事件:http: //msdn.microsoft.com/en-us/library/system.windows.forms.form.mdichildactivate.aspx
请注意该页面中的此注释:
您可以使用此事件来执行任务,例如更新 MDI 子窗体的内容以及根据激活的 MDI 子窗体的状态更改MDI 父窗体中可用的菜单选项。
另请注意,当子窗体关闭时也会调用此事件(来自 MSDN):在MDI 应用程序中激活或关闭多文档界面 (MDI) 子窗体时发生。
这意味着在这种情况下,您可以执行以下操作:
menuButton.Enabled = (this.MdiChildren.Length > 0);
或者,如果您需要检查所有子窗体的某些条件,并且如果其中一个子窗体需要启用按钮,则启用该按钮:
void Form1_MdiChildActivate(object sender, EventArgs e)
{
foreach (Form child in MdiChildren)
{
if (IsToolbarButtonNeededForThisForm(child))
{
toolButton.Enabled = true;
break;
}
}
toolButton.Enabled = false;
于 2010-04-27T19:57:05.113 回答