积极答复者
winform中,如何控制控件位置随窗体的大小改变而改变

问题
-
我用c#设计一个winform程序,程序以全屏方式运行,但是在不同分辨率的机器上运行时,窗体中的控件的位置和大小不能自动随窗体大小的改变而改变,另外,如何保证各个控件之间的相对位置不变?我应该如何设计?
是计算好每个控件相对于窗体的坐标和大小比例?
还是采用容器控件,例如FlowLayoutPanel ?- 已移动 Sheng Jiang 蒋晟Moderator 2009年10月9日 12:38 Windows表单类库问题 (发件人:Visual C#)
答案
-
你好!一般是设置控件的 Anchor 或 Dock 来布局,另外 Control.Scale 方法可以按比例缩放。
知识改变命运,奋斗成就人生!- 已标记为答案 YiChun Chen 2009年10月14日 8:29
-
原来写的一篇帖子:http://www.cnblogs.com/kenkao/archive/2008/11/10/1330623.html。
希望会对你有所帮助。- 已标记为答案 YiChun Chen 2009年10月14日 8:29
-
你好 在窗体的SizeChanged事件中调整控件位置;
使用Dock或者设置Anchor来控制布局
Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond- 已标记为答案 YiChun Chen 2009年10月14日 8:29
-
你好!
你先尝试Dock和Fill属性,看能否满足要求,如果不行的话,再使用FlowLayoutPanel来自己控制布局!
周雪峰- 已标记为答案 YiChun Chen 2009年10月14日 8:29
-
你好!
用FlowLayoutPanel空间的话,可以达到按照分辨率改变窗体和空间大小的需求,只是你需要重新来布局你的窗体了。
另外,你也可以在Form_Resize的事件中来写代码控制,设定相对位置和大小控制,不过似乎也有些麻烦。
我也同意各位版主的意见,在此之前先尝试使用Anchor和Dock属性。
关于使用Anchor和Dock属性来进行布局,你可以参考一下这篇博客:
http://blog.csdn.net/wwwdbs/archive/2008/05/23/2473597.aspx
你也可以参考下http://www.cq-soft.net/postView.aspx?logID=152。
希望对你有所帮助。 :)
(本回复中包含了第三方网站,微软无法控制和测试此类网站或者该网站提供的软件,因此,微软无法保证此类网站的质量和安全性。微软提醒您在下载软件或者打开网站之前确定您了解了该网站的安全性。)
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.- 已编辑 YiChun Chen 2009年10月12日 3:55 第三方申明
- 已标记为答案 YiChun Chen 2009年10月14日 8:29
全部回复
-
你好!一般是设置控件的 Anchor 或 Dock 来布局,另外 Control.Scale 方法可以按比例缩放。
知识改变命运,奋斗成就人生!- 已标记为答案 YiChun Chen 2009年10月14日 8:29
-
原来写的一篇帖子:http://www.cnblogs.com/kenkao/archive/2008/11/10/1330623.html。
希望会对你有所帮助。- 已标记为答案 YiChun Chen 2009年10月14日 8:29
-
你好 在窗体的SizeChanged事件中调整控件位置;
使用Dock或者设置Anchor来控制布局
Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond- 已标记为答案 YiChun Chen 2009年10月14日 8:29
-
你好!
你先尝试Dock和Fill属性,看能否满足要求,如果不行的话,再使用FlowLayoutPanel来自己控制布局!
周雪峰- 已标记为答案 YiChun Chen 2009年10月14日 8:29
-
你好!
用FlowLayoutPanel空间的话,可以达到按照分辨率改变窗体和空间大小的需求,只是你需要重新来布局你的窗体了。
另外,你也可以在Form_Resize的事件中来写代码控制,设定相对位置和大小控制,不过似乎也有些麻烦。
我也同意各位版主的意见,在此之前先尝试使用Anchor和Dock属性。
关于使用Anchor和Dock属性来进行布局,你可以参考一下这篇博客:
http://blog.csdn.net/wwwdbs/archive/2008/05/23/2473597.aspx
你也可以参考下http://www.cq-soft.net/postView.aspx?logID=152。
希望对你有所帮助。 :)
(本回复中包含了第三方网站,微软无法控制和测试此类网站或者该网站提供的软件,因此,微软无法保证此类网站的质量和安全性。微软提醒您在下载软件或者打开网站之前确定您了解了该网站的安全性。)
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.- 已编辑 YiChun Chen 2009年10月12日 3:55 第三方申明
- 已标记为答案 YiChun Chen 2009年10月14日 8:29