C#winform 如何获取当前系统所使用的默认字体

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#winform 如何获取当前系统所使用的默认字体相关的知识,希望对你有一定的参考价值。

假设我们用的是中文简体,字体应该是宋体,繁体中文,字体可能是其他。我现在的问题是,希望获取当前系统所使用的字体,比如说英文系统下面使用的新罗马还是什么字体,类似,我需要得出这个字体型并赋值给软件,让软件界面使用此种字体。不知道哪位高手有没有好的解决方法。还是此种无解?千万不要贴那些去循环字体的代码,能百度的都百度过了,没找到合适的!先谢谢了!

参考技术A 这个需要你了解GDI方面的知识。系统默认字体是GDI的内置对象,可以通过GetStockObject(DEFAULT_GUI_FONT) 获得。MSDN有一篇文章,应该对你有所帮助:如何:在 Windows 窗体应用程序中响应字体方案更改
或者用win32api
类似
[DllImport("User32.dll")] private static extern IntPtr GetWindowDC(IntPtr hwnd);
参考技术B System.Drawing.SystemFonts.DefaultFont.Name,用Default 参考技术C System.Drawing.SystemFonts.DefaultFont.Name本回答被提问者采纳

C#WinForm如何在点击按钮获取数据后,将数据在按钮所在窗体上显示出来

窗体显示时,datagridview的visible属性为false,点击窗体上的按钮后,会得到datatable类型的数据,若数据不为空,则datagridview控件的visible属性为true,并将数据显示出来上;若为空,则datagridview控件的visible任为false。现在的问题是,窗体显示时放datagridview控件那部分是空白的,整个窗体看起来很不好看,有没有什么办法使窗体变的好看点呢?

举个简单的例子
初始化状态下:textbox的visible属性默认是false

这个样子的话,窗体下面的空白会很多,使界面看起来不好看
单击按钮后效果如下:

注意:想实现的效果就是窗体显示时,效果如下图:

点击按钮后

这个过程应该咋样实现呢

根据返回的数据行,动态计算出需要增加的高度,重新设置窗体的高度。
再将数据显示到表格中即可。

如果数据为空,则隐藏表格。
参考技术A 点击按钮的事件中修改你的窗体大小,然后添加文本框。 参考技术B 添加了之后相应的改变窗体的大小,这样的话就可以了

以上是关于C#winform 如何获取当前系统所使用的默认字体的主要内容,如果未能解决你的问题,请参考以下文章

WinForm相对路径的陷阱

winform中如何获取鼠标所点击的控件名称

C# winform程序中 如何获取和设置dataGridView1的垂直滚动条当前位置?

在C# WinForm应用程序中如何获取当前窗体中被激发的控件名称?

Winform 获取当前单击的控件名称 和 向窗体添加控件

winform panel 如何添加滚动条