加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 00:17:00 所属栏目:百科 来源:网络整理
导读:这可能是一个愚蠢的问题,有一个微不足道的答案,但我在这里画一个空白,并希望得到一些帮助. 假设我在Windows窗体应用程序中有两个窗体:主窗口和子窗口,它将显示为第一个窗口的对话框.主窗口包含一组控件,包括菜单条和工具栏. 如何确保两个表单中的所有控件都
这可能是一个愚蠢的问题,有一个微不足道的答案,但我在这里画一个空白,并希望得到一些帮助.

假设我在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中的个性化).当然可以覆盖此选择,但通常不应该这样做并尊重用户的偏好.控制面板对话框如下所示:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读