111,097
社区成员




private void pictureBox1_DoubleClick(object sender, EventArgs e)
{
if (tableLayoutPanel1.Visible)
{
tableLayoutPanel1.Visible = false;
pictureBox1.Parent = PanelA;
}
else
{
tableLayoutPanel1.Visible = true;
pictureBox1.Parent = panel1;
}
}
void pb_Click(object sender, EventArgs e)
{
var nowPic = sender as PictureBox;
if (nowPic != null)
{
if (nowPic.Dock == DockStyle.Top)
{
//填充状态,设置
nowPic.Dock = DockStyle.None;
ShowAllInnerControls(true, nowPic);
}
else
{
nowPic.Dock = DockStyle.Top;
ShowAllInnerControls(false, nowPic);
}
}
}
private void ShowAllInnerControls(bool visible, Control exceptControl)
{
var controls = this.flowLayoutPanel1.Controls;
for (var i = 0; i < controls.Count; i++)
{
if (controls[i].Equals(exceptControl))
{
continue;
}
controls[i].Visible = visible;
}
}
试验了下,dock设置为fill貌似会出问题,图片显示不出来了,所以这里将dock设置为了top……但这个思路应该可行