对FlowLayoutPanel内按钮的缩放效果

时间:2014-05-15 12:22:36

标签: c# winforms zoom flowlayoutpanel

我在FLP中有一些按钮,我希望当鼠标悬停在按钮上时,可以稍微增加按钮的大小,就像缩放效果一样。问题是,当按钮大小增加时,它旁边的所有按钮都向右和向下滑动。可能问题是由FLP在项目之间添加的空间引起的,但是如何防止这种情况,所以当大小是越过那个空间不要添加更多......?

我的ZOOM课程:

class zoom
    {
        public zoom(Control cst)
        {
            cst.MouseEnter += delegate(object sender, EventArgs e)
            {
                cst.Size = new Size(70, 75);    
                cst.Font = new Font(cst.Font.FontFamily, 9);                    
            };
            cst.MouseLeave += delegate(object sender, EventArgs e)
            {
               cst.Size = new Size(68, 73);
               cst.Font = new Font(cst.Font.FontFamily, 8);
            };
}

}

1 个答案:

答案 0 :(得分:2)

这就是FlowLayoutPanel的工作方式。它会移动其余的控件,以便在流程之后适应它们 如果由于Margin属性而在按钮之间有一些空格,则可以在缩放时减小按钮的边距。
如果您希望按钮显示在其他按钮上,这将无法工作。在这种情况下,可能唯一的方法是使用一个简单的Panel而不是FlowLayoutPanel,并使用Zoom进行BringToFront()。