如何实现Winform窗体应用程序的字体和窗体大小不跟随分辨率改变

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现Winform窗体应用程序的字体和窗体大小不跟随分辨率改变相关的知识,希望对你有一定的参考价值。

参考技术A 打开Microsoft Visual Studio 2010, 新建一个窗口测试程序。

在新程序界面空白窗口上任意放置几个控件,生成exe文件进行测试。

窗口默认可以最大化,或者可以调整窗口大小,这和我们的要求不同。我们再来进一步的调整。

点击窗口,选择【属性】界面。在这里可以对窗口的很多设置进行调整。

找到【FormBorderStyle】选项,在选项列表中选择【FixedDialog】,这样就可以固定窗口大小,禁止对窗口的自由调整了。

再来隐藏窗口的最大化和最小化按钮,在选项中找到【MaximizeBox】【MinimizeBox】,默认这两个选项都是【true】,这里都修改为【false】。

将【MaximizeBox】【MinimizeBox】两个选项都修改为【false】。

步骤阅读
8
重新生成exe文件进行测试,可以看到窗口右上角的最大化和最小化按钮已经消失了,也无法对窗口进行大小调整。我们的需求成功实现了。本回答被提问者采纳
参考技术B 搜一下:如何实现Winform窗体应用程序的字体和窗体大小不跟随分辨率改变

如何方便的保存WinForm窗体控件的位置大小等等配置信息

由于分辨率、屏幕主题、字体大小的不同,窗体显示效果在不同机器上不尽相同。窗体的弹性设计并不能满足多样的需求。为保证在各种情况下,能有满意的效果。窗体的多样显示方式能改变,并且保存、载入配置,显得很重要。我试写了个C#下的类,来做这件事。宗旨是使用方便,并且尽量小巧,载入快速,和可以扩展。

先说使用:

本类针对最常用的需要,如窗体位置、大小。和表格的列宽。进行设计。如果需要,可自行扩展。

这样简单的载入配置信息:

private void FrmMain_Load(object sender, EventArgs e)
{
  SetupColumns(); 
  oConfig.Load_Columns_Width(dgv1, "huodan_frmlisthuo_dgv1");
  oConfig.SetSaveFlag("huodan_frmlisthuo_dgv1", false); 
  oConfig.Load_Form_Size(this, "huodan_frmlisthuo_frm");
  oConfig.SetSaveFlag("huodan_frmlisthuo_frm", false);
}

  保存一般放在关闭窗体前:

private void FrmListHuo_FormClosing(object sender, FormClosingEventArgs e)
{ 
  oConfig.Save_Columns_Width(dgv1, "huodan_frmlisthuo_dgv1"); 
  oConfig.Save_Form_Size(this, "huodan_frmlisthuo_frm"); 
}

并不是每次关闭窗体都会保存,在必要的地方,设置保存请求:

private void dgv1_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e)
{
 oConfig.SetSaveFlag("huodan_frmlisthuo_dgv1",true);
}
private void FrmListHuo_ResizeEnd(object sender, EventArgs e)
{
 oConfig.SetSaveFlag("huodan_frmlisthuo_frm", true);
}

  

类的内容可以到本博空间下载(http://www.pudn.com/downloads768/sourcecode/windows/csharp/detail3046853.html),就不多讲了,明白的不用讲,不明白的讲也是累。

以上是关于如何实现Winform窗体应用程序的字体和窗体大小不跟随分辨率改变的主要内容,如果未能解决你的问题,请参考以下文章

如何方便的保存WinForm窗体控件的位置大小等等配置信息

Winform 窗体控件随窗体自动(等比例)调整大小

winform窗体运行时的大小和设计时不一致

c#winform 关于页面大小与控件大小的问题

如何设置禁止改变“C# WINFORM”窗体大小?

C# Winform 窗体设计 设计时 窗体大小不能调整