让控件大小随窗体大小改变而改变

不用anchor属性解决这个问题,本文纯是为了瞎鼓捣

控件在界面上的位置是比较烦人的一件事,因为窗体大小有时候是会改变的,如果里面的控件不随窗体大小改变而改变,会让界面很难看。比如一个textbox,如果你不做处理,在[窗体改变大小时,就会出现下面的情况:

下面来说一个让这些控件随窗体大小变化而变化的方法,效果如下

代码:

namespace ch
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //这里我是让textbox与自己的form保持一定的距离和大小关系
        int[] changetextboxsize(Form f, int left, int top)
        {
            int[] r = new int[2];
            int width = f.Width;
            int height = f.Height;

            int newwidth = width - left - 50;
            int newheight = height - top - 100;

            r[0] = newwidth;
            r[1] = newheight;
            return r;
        }

        public void GOGOGO()
        {
            int left = textBox1.Left;
            int top = textBox1.Top;
            int[] r = changetextboxsize(this, left, top);
            textBox1.Width = r[0];
            textBox1.Height = r[1];
            textBox1.Refresh();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            GOGOGO();
        }

        private void Form1_SizeChanged(object sender, EventArgs e)
        {
            GOGOGO();
        }
    }
}

这里我只是举例说明,让textbox适应窗体,你也可以让父容器是一个panel什么的,效果可以自己定。

展开阅读全文

页面更新:2024-04-15

标签:窗体   控件   大小   烦人   容器   属性   界面   本文   距离   效果

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top