C# 显示MDI子级-屏幕上仅显示毫秒的随机形式
我有一个MDI表单,左侧是treeview,右侧是表单,左侧是拆分器。我想根据用户点击树视图中的节点打开一个表单,查看如何正确操作。问题是,当我打开新表单时,屏幕上会弹出一个随机表单,持续一毫秒,然后它就会消失,而表示要出现的表单会立即显示出来。 以下是我目前的代码:C# 显示MDI子级-屏幕上仅显示毫秒的随机形式,c#,winforms,visual-studio-2015,mdi,C#,Winforms,Visual Studio 2015,Mdi,我有一个MDI表单,左侧是treeview,右侧是表单,左侧是拆分器。我想根据用户点击树视图中的节点打开一个表单,查看如何正确操作。问题是,当我打开新表单时,屏幕上会弹出一个随机表单,持续一毫秒,然后它就会消失,而表示要出现的表单会立即显示出来。 以下是我目前的代码: private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { CloseAllMdiChildForms(); if (e.Nod
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
CloseAllMdiChildForms();
if (e.Node.Name == "root")
{
CustomerFrm cf = new CustomerFrm();
cf.Show();
cf.MdiParent = this;
}
//treeView1.MouseClick();
//if (treeView1.SelectedNode.Level == 0)
//{
// CustomerFrm CF = new CustomerFrm();
// CF.ShowDialog();
//}
}
屏幕上出现了一种仅在毫秒内可见的随机形式,没有任何理由。有什么问题吗?根据注释的代码,您要查找的事件是
根据注释的代码,您要查找的事件是
闪烁是因为您首先显示表单,然后设置其
mdipradent
。所以它闪烁;它显示在mdi区域之外,然后在设置其mdipreent
后显示在mdi客户端区域
要解决这个问题,首先设置
cf.MdiParent=this就足够了然后调用cf.Show()
闪烁是因为您首先显示表单,然后设置其mdipradent
。所以它闪烁;它显示在mdi区域之外,然后在设置其mdipreent
后显示在mdi客户端区域
要解决这个问题,首先设置cf.MdiParent=this就足够了然后调用cf.Show()
问题出在哪里?屏幕上出现了一个仅在毫秒内可见的随机表单,这是因为您首先显示表单,然后设置其mdipent
。所以它闪烁;它显示在mdi区域之外,然后在设置其mdi父对象后,显示在mdi客户端区域。要解决这个问题,首先设置cf.MdiParent=this就足够了
然后调用cf.MdiParent=this代码>。顺便说一句,我更正了我在回答中的输入错误:first setcf.MdiParent=this然后调用cf.Show()代码>。问题出在哪里?屏幕上出现了一个仅在毫秒内可见的随机表单,这是没有原因的。这是因为您首先显示了表单,然后设置了它的mdipradent
。所以它闪烁;它显示在mdi区域之外,然后在设置其mdi父对象后,显示在mdi客户端区域。要解决这个问题,首先设置cf.MdiParent=this就足够了
然后调用cf.MdiParent=this代码>。顺便说一句,我更正了我在回答中的输入错误:first setcf.MdiParent=this然后调用cf.Show()代码>。
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (e.Node.Name == "root")
{
CustomerFrm childForm = new CustomerFrm();
childForm.MdiParent = this;
childForm.Show();
}
}