当前位置: 代码迷 >> C# >> C# Winform项目,鼠标双击picturebox控件可以充溢整个tableLayoutPanel控件,再双击又可以恢复到原来的位置
  详细解决方案

C# Winform项目,鼠标双击picturebox控件可以充溢整个tableLayoutPanel控件,再双击又可以恢复到原来的位置

热度:62   发布时间:2016-05-05 03:38:24.0
C# Winform项目,鼠标双击picturebox控件可以充满整个tableLayoutPanel控件,再双击又可以恢复到原来的位置。
C# Winform项目,在form窗体中,放置了一个tableLayoutPanel控件(2行、2列)并设置它的dock为fill。
然后在每个格子里放一个panel控件并分别设置dock也为fill(共4个panel控件)。
最后在每个panel控件中放一个picturebox控件并分别设置dock也为fill(共4个picturebox控件)。

如何实现用鼠标双击其中任意一个picturebox控件,能够使用picturebox控件充满整个tableLayoutPanel控件。再用鼠标双击该picturebox控件可以使picturebox控件还原到tableLayoutPanel控件原来所在的位置。

请问各位,有没有相关的参考资料或源码。谢谢。

------解决思路----------------------
你这个就是双击时,将当前PictureBox设置dock为fill
然后这个tableLayoutPanel之内的其它control全部隐藏,再点击的时候判断当前PictureBox的dock是不是fill状态,是的话,就设置为none,然后将tableLayoutPanel的所有control显示
------解决思路----------------------
既然都为fill
那么你隐藏了另外3个,它就自动充满了
你把另外3个显示出来,它就自动还原了啊
------解决思路----------------------
在你的窗体里面,  

添加一个 PanelA,    PanelA.Dock = DockStyle.Fill;
然后將  tableLayoutPanel 放到 PanelA 里面,  tableLayoutPanel.Dock = DockStyle.Fill;

其他不变.

在picturebox 双击代码:



private void pictureBox1_DoubleClick(object sender, EventArgs e)
        {
            if (tableLayoutPanel1.Visible)
            {
                tableLayoutPanel1.Visible = false;
                pictureBox1.Parent = PanelA;
            }
            else
            {
                tableLayoutPanel1.Visible = true;
                pictureBox1.Parent = panel1;                
            }
        }


------解决思路----------------------
你可以组合我的和4楼的代码啊……
  相关解决方案