MdiContainer c#
Вопрос весьма распространенный, но буду краток. Есть mdi контейнер. Дочерние окна вызываются в развернутом состоянии. При использовании MdiWindowListItem, при переключение на другое дочернее окно, происходит мерцание других дочерних окон. Как это можно решить средствами языка с#, какие возможны варианты? Поясните пожалуйста с примером.
Код:
private void child_SizeChanged(object sender, EventArgs e)
{
if (ActiveMdiChild != null)
{
if (ActiveMdiChild.WindowState == FormWindowState.Maximized)
{
panel1.Visible = true;
tabControl1.Dock = DockStyle.Fill;
tabControl1.BringToFront();
}
else
{
bool flag = false;
foreach (Form2 mdiChild in MdiChildren)
{
if (mdiChild.WindowState == FormWindowState.Maximized)
{
flag = true;
break;
}
}
if (flag == false)
{
tabControl1.Dock = DockStyle.Top;
tabControl1.Size = new Size(tabControl1.Width, 25);
panel1.Visible = false;
}
}
}
}
{
if (ActiveMdiChild != null)
{
if (ActiveMdiChild.WindowState == FormWindowState.Maximized)
{
panel1.Visible = true;
tabControl1.Dock = DockStyle.Fill;
tabControl1.BringToFront();
}
else
{
bool flag = false;
foreach (Form2 mdiChild in MdiChildren)
{
if (mdiChild.WindowState == FormWindowState.Maximized)
{
flag = true;
break;
}
}
if (flag == false)
{
tabControl1.Dock = DockStyle.Top;
tabControl1.Size = new Size(tabControl1.Width, 25);
panel1.Visible = false;
}
}
}
}