label大小变换后,位置依然窗体居中

来源:互联网 发布:淘宝怎么提高销量2016 编辑:程序博客网 时间:2024/06/05 07:19




一、字体设置

private void radioButton2_CheckedChanged(object sender, EventArgs e)        {            label1.Font = new Font("楷体", label1.Font.Size);        }

字体设置比较简单,接下来再结合字型看一下。


字型的要求就是当我们选中加粗、下划线、删除线、倾斜的操作的时候是可以叠加的,但是此时常规肯定是没有被选中的;同理

当我们选中常规的时候,其他项自动取消选择。来看核心代码:

 private void checkBox1_CheckedChanged(object sender, EventArgs e)        {                checkBox4.Checked = false;            label1.Font = new Font(label1.Font,label1.Font.Style^FontStyle.Bold);        }

前面的是原来的字体,后面是字体的样式:加粗,斜体,下划线,删除线的样式。


二、字号

在窗体中心的是一个label标签,label的autosize设置为true,一下两张图是当我们滑动滑动条的时候,可以改变label中的字体大小。但是label标签依然居中;

无论是上下,左右都是居中的。

以下就是实现的核心代码,滑动条的事件

        private void hScrollBar1_Scroll(object sender, ScrollEventArgs e)        {            label2.Text = hScrollBar1.Value.ToString();            label1.Font =new Font( label1.Font.FontFamily,hScrollBar1.Value,label1.Font.Style);            int a = (this.Size.Width - label1.Size.Width)/2;            int b = (this.Size.Height - groupBox1.Size.Height-label1.Size.Height) / 2-20;            label1.Location = new Point(a, b);        }

当我们滑动时,需要给label标签重新定位:

纵坐标=(窗体的高-groupbox的高-label的高)/2; 这里因为定位不准(哈哈,我也不知道是咋回事),就把纵坐标-20

横坐标=(窗体的宽-label的宽)/2

这样一来,就实现label的窗体居中了。

请大家多多指教!!!

0 0
原创粉丝点击