一次又一次地根据父母改变控制的BackColor

时间:2016-02-22 16:50:41

标签: c# winforms

嗨我试图在BackColor被删除之后更改Panel的{​​{1}}。有几个FlowLayoutPanel,我想更改FlowLayoutPanels的{​​{1}},具体取决于它所在的FLP。

代码:

BackColor

1 个答案:

答案 0 :(得分:1)

您可以处理FlowLayoutPanel控件的ControlAdded事件,并为那里的掉落控件设置所需的颜色。例如:

private void flowLayoutPanel2_ControlAdded(object sender, ControlEventArgs e)
{
    e.Control.BackColor = Color.Red;
}

private void flowLayoutPanel1_ControlAdded(object sender, ControlEventArgs e)
{
    e.Control.BackColor = Color.Blue;
}

您也可以根据面板名称在panel_DragDrop中应用此类逻辑。例如:

control.Parent.Controls.Remove(control);
var panel = sender as FlowLayoutPanel;
((FlowLayoutPanel)sender).Controls.Add(control);
if(panel.Name == "flowLayoutPanel1")
    control.BackColor = Color.Blue;
else
    control.BackColor = Color.Red;
相关问题