我是C#的新生并使用的是Microsoft Visual C#2013。
我的目标是
在VB.net中使用
更容易frmStuDetails.ShowDialog()
我试过了
1
MyChildForm childForm = new MyChildForm();
childForm.ShowDialog(this);
结果....但问题是子表单在MDIparent表单/容器中没有打开
2。 在MDIparent调用按钮下
frmViewStuList childForm = new frmViewStuList(this);
childForm.Owner = this;
childForm.Show();
<{1>} 下的
childForm_Activated
<{1>} 下的
if (this.Owner != null)
{
this.Owner.Enabled = false;
}
结果.....它使子窗体处于活动状态,但在子窗体关闭时冻结MDIparent
3
childForm_Deactivate
结果......这似乎是最好的选择,但是儿童表格在MDIparent中没有打开
如果您有任何其他想法,请提供帮助
由于
答案 0 :(得分:0)
禁用MDI父级也将禁用对MDI子级的访问,因此这是不可行的方法。如果你已经“伪装”了MDI孩子,我宁愿打开子窗体作为模态对话框。您可以对其进行样式设置并使其居中,因此它更像是MDI应用程序的一致部分。
private void openChildDialogToolStripMenuItem_Click(object sender, EventArgs e)
{
var childForm = new ChildForm
{
ShowInTaskbar = false,
MinimizeBox = false,
MaximizeBox = false
};
childForm.StartPosition = FormStartPosition.CenterParent;
childForm.ShowDialog(this);
}