Ого, это меня раздражает.
Использование c #, winforms, visual studio 2010 ulti.
Вот мой код:
private void CheckBoxBranch_CheckedChanged(object sender, EventArgs e)
{
if (CheckBoxBranch.Checked == true)
{
panelBranch.Visible = true;
//panelBranch.Parent = null;
//PanelBuyer.Parent = null;
//panelBranch.SendToBack();
//PanelBuyer.SendToBack();
PanelBuyer.Visible = false;
CheckBoxBuyer.Checked = false;
this.Refresh();
}
if (CheckBoxBranch.Checked == false)
{
panelBranch.Visible = false;
this.Refresh();
}
}
private void CheckBoxBuyer_CheckedChanged(object sender, EventArgs e)
{
if (CheckBoxBuyer.Checked == true)
{
panelBranch.Visible = false;
PanelBuyer.Visible = true;
CheckBoxBranch.Checked = false;
this.Refresh();
}
if (CheckBoxBuyer.Checked == false)
{
PanelBuyer.Visible = false;
this.Refresh();
}
}
теперь этот код работает нормально, никаких проблем, если панели не находятся друг над другом. Когда это происходит, Panel-Buyer работает нормально, Panel-Branch вообще не отображается.
Теперь я думаю, что это как-то связано с тем, что панель филиала становится дочерней по отношению к панели покупателя, поэтому, когда моя логика работает для покупателя, она применяется и к ветви.
Я мог бы преобразовывать там позиции каждый раз, как поворот, но это много лишнего кода.
Есть ли способ решить эту головную боль, хороший короткий, простой и простой вкладыш? (Желаю).