У меня есть форма MDI с древовидной структурой слева и форма, чтобы появиться справа с разветвителем влево. Я хочу открыть форму, основанную на том, что пользователь нажимает на узел в дереве, как мне это сделать правильно. Проблема в том, что когда я открываю новую форму, случайный появляется на экране в течение милисекунды, а затем исчезает, и тот, который появляется, появляется сразу после. Вот мой код до сих пор:Показан MDI Child - случайная форма, видимая только на миллисекунду, появляющуюся на экране
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();
//}
}
Существует случайная форма видна только миллисекунды, появляющиеся на экране без причины. В чем проблема?
В чем проблема? –
Существует случайная форма, видимая только для миллисекунды, появляющейся на экране без причины. – UZIERSKI
Это потому, что вы сначала покажите форму, а затем установите ее 'MdiParent'. Поэтому он мерцает; он отображается за пределами области mdi, а затем после установки родителя mdi он отображается в клиентской области mdi. Чтобы решить проблему, достаточно сначала установить 'cf.MdiParent = this;' затем вызвать 'cf.MdiParent = this;'. –