社区
C#
帖子详情
WinForm中控件的大小和位置,怎么随窗体的大小变化而改变?
liberte
2006-07-28 01:44:20
怎么处理,
有具体代码?
...全文
654
8
打赏
收藏
WinForm中控件的大小和位置,怎么随窗体的大小变化而改变?
怎么处理, 有具体代码?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liangge
2006-07-28
打赏
举报
回复
如果二楼那样处理,控件一多,就不好控制了
可以仿照Java的flow layout,我们事先把布局弄好,比如用panel等控件安排好
然后设定好panel的dock属性,这样在把控件填充到panel中,设置dock属性,这样不管最终用户怎样调整窗体,都不会影响,我就是这样用于我的项目中的
oneiter
2006-07-28
打赏
举报
回复
以前我也用过2楼那样的方法,觉得效果还可以。用Control.Dock有时候达不到想要的效果。
marvelstack
2006-07-28
打赏
举报
回复
可以通过设置这些控件从基类继承的属性,
Control.Dock//填充
Control.anchor//锚定
liberte
2006-07-28
打赏
举报
回复
楼上有什么好方法
程英杭
2006-07-28
打赏
举报
回复
这么巧有人也在这个时候发布了个消息,那如果我的方法不能满足的,就只能象2楼那样处理了
程英杭
2006-07-28
打赏
举报
回复
最简单的处理方法是用Dock属性,比方ListView DataGrid Panel 等等都有这个属性
但是用这个处理的时候注意下他们的先后顺序,
比方以这样的例子为例,上面放几个文本框,然用户选择查询条件,下面放个ListView 显示用户的信息,那么你可以这么处理,
新建一个窗口,在里面添加一个Panel,把其Dock属性设置为Top,然后在这个控件里面加入文本框等信息,然后拖入一个ListView,放到窗体上(是窗体上,上面的是Panel中),然后设置其Dock属性为Fill,Ok,你的窗体变动了,他们的大小也变了,
如果这种方法不能满足,那只能自己写Resize事件,就像楼上的
cancerser
2006-07-28
打赏
举报
回复
dock 属性
dyc13
2006-07-28
打赏
举报
回复
double bwidth, bheight, ewidth, eheight;
private void Form1_ResizeBegin(object sender, EventArgs e)
{
bwidth = this.Width;
bheight = this.Height;
}
private void Form1_ResizeEnd(object sender, EventArgs e)
{
ewidth = this.Width;
eheight = this.Height;
button1.Left = (int)(button1.Left * (ewidth / bwidth));
button1.Width = (int)(button1.Width * (ewidth / bwidth));
button1.Top = (int)(button1.Top * (eheight / bheight));
button1.Height = (int)(button1.Height * (eheight / bheight));
button1.Show();
}
我得笨但我努力噢.
C#
WinForm
窗体
及其
控件
的自适应
1.把自适应的类整体复制到你的工程命名空间里,这样做,每个
窗体
均可使用。 2.声明自适应类实例。 3.为
窗体
添加SizeChanged事件,并在其方法Form1_SizeChanged
中
,首次记录
窗体
和其
控件
初始
位置
和
大小
,之后调用类的自适应方法,完成自适应。 4.Panel,DataGridView等
控件
同样适用。 应用代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Linq; using System.Reflection; using System.Windows.Forms; using System.Diagnostics; namespace DataFactory { partial class Form : System.Windows.Forms.Form { AutoSizeFormClass ASC = new AutoSizeFormClass(); //++++++++++声明自适应类实例 public Form() { InitializeComponent(); } private void Form_Load(object sender, EventArgs e) { ASC.ControlInitializeSize(this); //++++++++++调用自适应类的初始化方法,记录
窗体
和其
控件
的初始
位置
和
大小
} private void Form_SizeChanged(object sender, EventArgs e) { ASC.ControlAutoSize(this); //++++++++++调用自适应类的初始化方法,完成自适应。 } } }
控件
重绘 C#
WinForm
控件
美化扩展系列之TabControl
控件
重绘 C#
WinForm
控件
美化扩展系列之TabControl
C#
WINFORM
控件
自由移动,拖放的DLL
已封装好的DLL(源码)。导入引用即可用,可实现当前
窗体
上所有
控件
都可以自由拖放和指定单个
控件
拖放。还可实现
控件
拉伸。
C#
Winform
播放器时间轴
C#
Winform
播放器时间轴,采用自定义
控件
实现播放器时间轴 。C#
Winform
播放器时间轴,采用自定义
控件
实现播放器时间轴 。
c#
Winform
自定义
控件
缩放不卡顿。最大可放大至65535。ROI绘制 矩形 圆形 ROI修改
前面通过Picturebox控制图片缩放平移,操作很顺滑,但是放大的时候发现一个问题,放大超过一定尺寸之后画面会非常的卡,可能重绘的面积比较大。 解决思路:放大的过程
中
,如果图像有超出窗口的部分,则把这部分图像给拆切掉,只显示需要的部分。
C#
111,119
社区成员
642,555
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章