c# – Windows窗体中的字体继承

c# – Windows窗体中的字体继承,第1张

概述这可能是一个愚蠢的问题,有一个微不足道的答案,但我在这里画一个空白,并希望得到一些帮助. 假设我在Windows窗体应用程序中有两个窗体:主窗口和子窗口,它将显示为第一个窗口的对话框.主窗口包含一组控件,包括菜单条和工具栏. 如何确保两个表单中的所有控件都使用相同的用户可配置字体?使用VS设计器快速测试这一点,我将主窗体的Font属性设置为默认值以外的其他属性,并确保使用默认值设置该窗体中的所有控 这可能是一个愚蠢的问题,有一个微不足道的答案,但我在这里画一个空白,并希望得到一些帮助.

假设我在Windows窗体应用程序中有两个窗体:主窗口和子窗口,它将显示为第一个窗口的对话框.主窗口包含一组控件,包括菜单条和工具栏.

如何确保两个表单中的所有控件都使用相同的用户可配置字体?使用VS设计器快速测试这一点,我将主窗体的Font属性设置为默认值以外的其他属性,并确保使用默认值设置该窗体中的所有控件.这样做会导致某些控件相应调整,但菜单条和工具栏的字体保持不变/默认.这是通过设计与那些控件或是否有一些明显的我缺少?

至于第二种形式,我将这个表格显示为主表格的子对话框.除非我明确设置子表单的字体,否则它无法使用与主表单相同的字体显示(尽管配置了默认字体).是否设置对话框窗口的字体以匹配父母正确的方法或我错过了什么?

再次,只是要清楚.我的代码中只有一个位置正在设置Font属性,它位于主窗体上.我没有问题,因为控件/表单是明确设置的.

感谢您的帮助!

解决方法 它不是完全继承,该功能称为“环境属性”.如果尚未在设计器(以粗体显示)或代码中分配Font属性,则控件将使用其Parent的Font属性.这是非常方便的,它允许非常一致的外观和感觉,并有助于在使用不同的每英寸视频点设置运行的机器上使布局一致.其他环境属性是Backcolor,Forecolor,Cursor,RightToleft.如果父更改或父更改其属性值,则确保此 *** 作仍然有效.

接下来是当没有父母时,降压停止.哪种情况发生在Form上,它没有Parent.因此,如果要使用与您在设计器中选择的值不同的值,则可以指定Form的Font属性.容易做到:

var frm = new Form2();frm.Font = this.Font;frm.Show();

ToolStrip和MenuStrip类的行为略有不同.除非明确指定,否则它们会从系统设置初始化其字体.用户可以在“控制面板”中的“显示”小程序中选择她喜欢的字体和点大小(windows 7中的个性化).当然可以覆盖此选择,但通常不应该这样做并尊重用户的偏好.控制面板对话框如下所示:

总结

以上是内存溢出为你收集整理的c# – Windows窗体中的字体继承全部内容,希望文章能够帮你解决c# – Windows窗体中的字体继承所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1223242.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存