标题:怎么让控件随窗体的变换而变换?
只看楼主
漯河
Rank: 4
等 级:贵宾
威 望:12
帖 子:1255
专家分:0
注 册:2006-8-8
 问题点数:0 回复次数:17 
怎么让控件随窗体的变换而变换?
怎么让控件随着窗体的变大而变大
变小而变小?
用的是什么属性?
搜索更多相关主题的帖子: 控件 窗体 属性 变小 
2006-10-23 16:38
月夜枫华
Rank: 4
等 级:贵宾
威 望:12
帖 子:437
专家分:42
注 册:2006-1-2
得分:0 

如果让控件随着窗体大小变化而变化,那么控件大小和窗体大小的比例应该就是固定的,假设这个比例为N(当然N<1,否则控件比窗体大了)
那么在窗体的SizeChanged事件里按照这个比例修改控件大小就可以了
private void Form_SizeChanged(object sender,System.EventArgs e)
{
this.button1.With=this.With*N;
this.button1.Height=this.Height*N;
}


2006-10-23 20:20
月夜枫华
Rank: 4
等 级:贵宾
威 望:12
帖 子:437
专家分:42
注 册:2006-1-2
得分:0 

但是这样做,控件的位置是相对不变的,同时可以记录控件与窗体左边距和窗体的宽度和控件的宽度的差的比例,记录控件与窗体的上边距与窗体的高度和控件的高度的差的比例.
哎,我自己都糊涂了,事例一下
控件与窗体左边距和窗体的宽度和控件的宽度的差的比例:
double N1=this.button1.Left/(this.With-this.button1.With);
控件与窗体的上边距与窗体的高度和控件的高度的差的比例
double N2=this.button1.Top/(this.Height-this.button1.Height);
将N1和N2记录好,并且同样在窗体的SizeChanged事件里让这个比例保持,就能达到你想要的效果了


2006-10-23 20:26
tomic
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2005-11-17
得分:0 
button1的高和宽要求是整形的。
2006-10-23 22:00
Theron
Rank: 1
等 级:新手上路
帖 子:127
专家分:0
注 册:2006-9-23
得分:0 
可以试一下DOCK属性.
不满意那就需要自己写方法了

2006-10-24 09:40
skyland84
Rank: 2
等 级:新手上路
威 望:4
帖 子:544
专家分:0
注 册:2006-10-9
得分:0 
我也只是用DOCK 属性

决定人生~
2006-10-24 15:01
漯河
Rank: 4
等 级:贵宾
威 望:12
帖 子:1255
专家分:0
注 册:2006-8-8
得分:0 
DOCK属性有点那个...

月夜枫华 的方法我还在实验中,还没有弄好呢!

——life is full of ups and downs!
2006-10-27 11:05
eddysoft
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:0
注 册:2006-2-27
得分:0 

用DoCk吧...


2006-10-27 12:19
xiaozhu39505
Rank: 2
等 级:论坛游民
帖 子:75
专家分:21
注 册:2006-10-12
得分:0 

Anchor属性,我前面也碰到那样的问题

用Anchor全部搞定


2006-10-27 17:16
月夜枫华
Rank: 4
等 级:贵宾
威 望:12
帖 子:437
专家分:42
注 册:2006-1-2
得分:0 

DOCK是停靠属性,如果停靠以后,控件会紧挨着停靠边最临近的控件.
如果想让控件在窗体中间或其他固定比例的位置就得计算了
还有如果控件按比例计算位置以后得到的不是整型,可以取整数或5舍6入为整数,在计算机上即使是800X600分辨率也肉眼也不容易分辨到像素级别


2006-10-28 00:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-98190-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.265035 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved