C# winform 如何才能固定宽度 (分辨率有影响)

williamxia8 2016-05-12 10:44:35
我在分辨率是1366*768的笔记本上面做了一个winform程序,我把窗体的高度和宽度都固定住了,设置为1280X700,
但是当把这个Exe程序放到一个台式机(分辨率1900X1080)上运行时,该窗体的大小就不是1280X700了,二是变成更大了。
这是为什么呢?怎么才能固定住一个窗体的大小呢?就是在任何分辨率大小的电脑上面打开都是一样大小的。
...全文
448 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
williamxia8 2016-05-13
  • 打赏
  • 举报
回复
public Queue<Control> GetAllControls(Control control, Queue<Control> query) { foreach (Control con in control.Controls) { if (con.Controls.Count > 0) { GetAllControls(con, query); } query.Enqueue(con); } return query; } //初始化 private void TestFrm_Load(object sender, EventArgs e) { //屏幕靠左上角对齐-------------------很重要 this.Left = 0;// Screen.PrimaryScreen.WorkingArea.Width - this.Width; this.Top = 0; //this.Width = 1280; //this.Height = 717; //设定按字体来缩放控件 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; //设定字体大小为12px Font ft = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(134))); this.Font = ft; Queue<Control> query = new Queue<Control>(); query = GetAllControls(this, query); foreach (Control c in query) { c.Font = ft; } //屏幕靠左上角对齐-------------------很重要 } 我用这个方法基本解决了问题。供大家参考吧
software_artisan 2016-05-13
  • 打赏
  • 举报
回复
你那个可能是放大了屏幕解析度引起的变大。在桌面设置里面,把缩放恢复为100%就可以了
williamxia8 2016-05-13
  • 打赏
  • 举报
回复
引用 3 楼 yiran_autumn 的回复:
this.MaximumSize = new Size(1280, 700);
你这种不行的,我把最小Size也设置成这样了,也不行。
yiran_autumn 2016-05-13
  • 打赏
  • 举报
回复
this.MaximumSize = new Size(1280, 700);
williamxia8 2016-05-12
  • 打赏
  • 举报
回复
引用 1 楼 happy09li 的回复:
http://blog.csdn.net/kingmax54212008/article/details/7626759
这个不行,我的要求是在任何分辨率 的电脑上面都显示一样大小的窗体,也就是1280*700

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧