窗体大小改变时怎么让控件也改变,怎么让窗体不可拖动改变大小

首页 > 实用技巧 > 作者:YD1662023-12-30 05:33:17

不用anchor属性解决这个问题,本文纯是为了瞎鼓捣控件在界面上的位置是比较烦人的一件事,因为窗体大小有时候是会改变的,如果里面的控件不随窗体大小改变而改变,会让界面很难看。比如一个textbox,如果你不做处理,在[窗体改变大小时,就会出现下面的情况:

窗体大小改变时怎么让控件也改变,怎么让窗体不可拖动改变大小(1)

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

窗体大小改变时怎么让控件也改变,怎么让窗体不可拖动改变大小(2)

代码:

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什么的,效果可以自己定。

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.