社区
C#
帖子详情
winform中窗体最大化时 如何使窗体中内容也相应的全屏
xgwshenzhen
2008-07-05 11:54:10
请教大家,winform中窗体最大化时 如何使窗体中内容也相应的全屏?
...全文
1674
23
打赏
收藏
winform中窗体最大化时 如何使窗体中内容也相应的全屏
请教大家,winform中窗体最大化时 如何使窗体中内容也相应的全屏?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hudenq
2011-09-23
打赏
举报
回复
最好你采用tableLayoutPanel来布局,DOCK设FILL 不变的的表格设为固定,变化的设为百分比,将表格内的控件DOCK设FILL就行了。
令狐苦瓜
2011-09-23
打赏
举报
回复
[Quote=引用 1 楼 ojlovecd 的回复:]
设置控件的Anchor属性或Dock属性
[/Quote]
+1
mhy_0914
2011-09-23
打赏
举报
回复
[Quote=引用 10 楼 hotmail_mk 的回复:]
以前在网上收集的代码,改变窗口大小,控件大小也按比例变化。
public partial class Form1 : Form
{
float x = 0;
float y = 0;
private void Form1_Resize(object sender, EventArgs e)
{
float newx = (this.Width) / x;
……
[/Quote]
这个代码为什么在有DataGridView的界面会报错呢?
未将对象引用设置到对象的实例。
quou2002
2011-09-23
打赏
举报
回复
同意 hudenq 的方法。
sjfbtnmcn
2011-09-23
打赏
举报
回复
这可不是几句话就能说清楚的问题,要么用 Anchor,用么自己设置比例去调整控件
stone__3
2008-07-07
打赏
举报
回复
……
darkarthur
2008-07-07
打赏
举报
回复
难道不是DOCK吗?
hotmail_mk
2008-07-07
打赏
举报
回复
private void Form1_Load(object sender, EventArgs e)
{
x = this.Width;
y = this.Height;
setTag(this);
}
net0003
2008-07-07
打赏
举报
回复
需要写代码
hotmail_mk
2008-07-07
打赏
举报
回复
以前在网上收集的代码,改变窗口大小,控件大小也按比例变化。
public partial class Form1 : Form
{
float x = 0;
float y = 0;
private void Form1_Resize(object sender, EventArgs e)
{
float newx = (this.Width) / x;
float newy = this.Height / y;
setConstrols(newx, newy, this);
}
private void setTag(Control cons)
{
foreach (Control con in cons.Controls)
{
con.Tag = con.Width + ":" + con.Height + ":" + con.Left + ":" + con.Top + ":" + con.Font.Size;
if (con.Controls.Count > 0)
{
setTag(con);
}
}
}
private void setConstrols(float newx, float newy, Control cons)
{
foreach (Control con in cons.Controls)
{
string[] mytag = con.Tag.ToString().Split(new char[] { ':' });
float a = Convert.ToSingle(mytag[0]) * newx;
con.Width = (int)a;
a = Convert.ToSingle(mytag[1]) * newy;
con.Height = (int)(a);
a = Convert.ToSingle(mytag[2]) * newx;
con.Left = (int)(a);
a = Convert.ToSingle(mytag[3]) * newy;
con.Top = (int)(a);
Single currentSize = Convert.ToSingle(mytag[4]) * newy;
con.Font = new Font(con.Font.Name, currentSize, con.Font.Style, con.Font.Unit);
if (con.Controls.Count > 0)
{
setConstrols(newx, newy, con);
}
}
}
}
满衣兄
2008-07-07
打赏
举报
回复
Paint
syl2000
2008-07-07
打赏
举报
回复
我以前在C中作过类似的处理,比较笨的方法:
记录控件的位置、大小相对于窗口的比例,改变窗口大小后作相应调整!
如果不改变窗口内各个控件的大小,我想可以这样:1、将所有的控件放到一个Panel中;2、主窗口大小改变以后,调整这个Panel的位置,比如将Panel至于窗口的中间部分,当主窗口全屏时,窗口内的控件也就调整到屏幕中央了!
kkun_3yue3
2008-07-07
打赏
举报
回复
[Quote=引用 1 楼 ojlovecd 的回复:]
设置控件的Anchor属性或Dock属性
[/Quote]
同意一楼,
另外,如果有条件你可以使用WPF来开发
greenery
2008-07-07
打赏
举报
回复
1 如果你只有一个控件,你可以将控件的dock设置为full,全部填充。那么窗口大小调整时,控件的大小也会随着调整。
2 如果你有多个控件,那么你需要对每个控件设置适当的
Anchor
,跟随窗口变化而改变控件位置/大小。
huing
2008-07-07
打赏
举报
回复
设置控件的Anchor属性或Dock属性
同时计算控件在form上的大小比例
例如,form 400x400, 控件 100x100, 比例为1/4
放大 form 800x800,控件= 800*(1/4) x 800*(1/4)
mulpig
2008-07-07
打赏
举报
回复
[Quote=引用 3 楼 freeboy827 的回复:]
引用 1 楼 ojlovecd 的回复:
设置控件的Anchor属性或Dock属性
正解
[/Quote]
但是界面不一定会好看了
zhnzzy
2008-07-07
打赏
举报
回复
[Quote=引用 10 楼 hotmail_mk 的回复:]
以前在网上收集的代码,改变窗口大小,控件大小也按比例变化。
public partial class Form1 : Form
{
float x = 0;
float y = 0;
private void Form1_Resize(object sender, EventArgs e)
{
float newx = (this.Width) / x;
float newy = this.Height / y;
setConstrols(newx, newy, this);
}
private void s…
[/Quote]
这个可以参考,动态用比例去 调整
lizhie
2008-07-07
打赏
举报
回复
在窗体的Resize事件中 写代码 确定你其他的控件的大小 和位置
不过这也需要技巧的 我是认为应该找一个参照物 确定一个好设置空间的位置和小
然后其他的空间以他为准
JTFLSH
2008-07-07
打赏
举报
回复
你可以加几个PANEL把你的控件包进去,然后控件DOCK属性改成FILL.再把相应PANEL的DOCK属性改成FILL
rockywu
2008-07-07
打赏
举报
回复
我只会设置Dock属性,其它学习中...
加载更多回复(3)
winform
中
窗体
最大化
时
如何使
窗体
中
内容
也
相应
的
全屏
本文提供了一个简单的C#代码示例,用于实现Windows
窗体
应用程序
中
控件的自适应布局调整。通过计算窗口缩放比例,并将原始尺寸、位置等信息存储为标签,确保了控件在窗口大小变化
时
能够保持原有的相对位置和尺寸。
实现C#
WinForm
无边框
窗体
的完整指南
本文聚焦C#
WinForm
应用,介绍无边框
窗体
的实现。先阐述基本创建方法,接着说明自定义拖动功能,涵盖鼠标消息处理与坐标计算。还讲解了最小化、
最大化
功能的添加及状态管理,介绍透明边框效果实现,最后从界面美观和用户体验两方面阐述了用户界面细节的优化。
关于c#
winForm
窗体
最大化
的设置
本文讨论了
窗体
状态切换(
最大化
、正常化)及其对标题栏的影响,并提供了
相应
的代码实现。同
时
,介绍了如何调整
窗体
大小限制,包括
全屏
与非
全屏
模式下对任务栏的处理。
功能: Form窗口
最大化
时
,控件相对位置变化的问题 (学习日记2016-12-23)
本文介绍了当Form
窗体
设置为
最大化
时
,如何通过设置控件的Anchor和Dock属性来调整控件位置,确保控件能够正确响应窗口大小变化。
C#
WinForm
实例解析:198个实战案例源码
本文围绕C#
WinForm
展开,介绍其基础与高级应用,涵盖
窗体
技巧、控件操作、图像处理、报表设计、系统交互和网络编程等多方面。包含198个经典实例,从基础到高级,能帮助开发者加深对C#
WinForm
编程的理解,提升编程技能。
C#
111,129
社区成员
642,535
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章