首页 / 知识
关于.net:字体相关的控件定位
2023-04-13 19:05:00

Font-dependent control positioning我想在Vista上使用Segoe UI 9 pt,在Windows XP / etc上使用Tahoma 8 pt。 (实际上,我两个都愿意使用Segoe UI,但是我的用户可能没有安装它。)但是,由于两者截然不同,它们确实使我的表单布局更加混乱。那么...有什么好办法解决这个问题吗?
例如:我有一个
因此,最具体地说,我的问题是:如何在 编辑:我不认为人们理解这个问题。我知道如何根据OS更改字体。我只是不知道该如何处理由此引起的布局问题。 回复ajryan,quick_dry:好的,你们明白了这个问题。我想MeasureString可能有用,尽管我对进一步探索解决此问题的更好方法感兴趣。
拆分控件的问题最明显,例如 我第二次将TableLayoutPanel用于单行内联控件。
我通常将每一列和第一行设置为AutoSize,并将每个子控件的Dock属性设置为Fill in设计器。这样可以使水平布局正确显示。 如果您的文本流到下一行,则没有简单的解决方案。最好使用Graphics.MeasureString / TextRenderer.MeasureText和一些精美的包装逻辑:( 需要在另一个控件中布局一个控件很奇怪。您可能错误地解决了上游问题。您是否可以将标签分成两个标签,并且上下两个标签之间可能靠Windows Forms TableLayout面板? 如果必须根据字体大小定位,可以使用Graphics.MeasureString(" updown之前的字符串",myLabel.Font) 如果您要查找的是字体相关的控件定位,则可能应该重命名该问题。 [edit]您可以处理标签"后半部分"的click事件,并更改该事件的复选框状态。整个事情似乎像一个hack。这种奇怪的控件布局可以解决什么问题?为什么在标签中间需要上下放置? 解决控件的位置问题吗?也就是说,您知道字体X和Y在OS A和OS B上都可以工作,并给出所需的布局以及在这些系统上使用的文本吗? MeasureString方法可能会帮助您以一种不受特定字体限制的方式来设计布局。 float textWidth = graphics.MeasureString(someString,someFont).Width; (是否需要更改文本对齐方式?我也可能会误解这个问题) 首先,可以通过系统库中的OperatingSystem.Platform属性找出要使用的Windows版本。 其次,您可能会将字体设置放在"资源"文件中,并根据某些条件(例如,您的操作系统版本)确定要使用的资源文件。 不过,就我个人而言,我认为最好让您的用户确定他们喜欢的字体,而不是您想要使用的字体。 最后,您可能想看一下WPF,因为这是WPF旨在解决的问题空间之一。 |
最新内容
相关内容
linux下用户权限命令?
linux下用户权限命令?,管理,系统,密码,地址,权限,时间,基础,信息,基本知识,工作,Linux用户以及权限相关常用命令总结sudo和su类似,有一些附加的linux登陆用户命令?
linux登陆用户命令?,系统,工具,信息,地址,软件,工作,命令,数字,服务,名称,Linux常用基本命令大全介绍linux常用命令:pwd命令该命令的英文解释为linux用户名改名命令?
linux用户名改名命令?,系统,密码,命令,代码,名称,用户名,用户,终端,主机名,文件,linux下命令怎么修改用户名1、Linux系统中用户切换的命令为sulinux命令行字体大小?
linux命令行字体大小?,系统,等级,图片,数字,工具,终端,字体,字符,图形界面,编辑,Linux命令行字符太小如何调大1、在命令模式下,将光标移动到将linux命令行字体颜色?
linux命令行字体颜色?,系统,地址,电脑,颜色,界面,字体,关键字,字符,文本,命令,linux字符界面的背景颜色和文字可以改么进入字符界面 为了在Linlinux用户分组命令?
linux用户分组命令?,系统,命令,电脑,信息,时间,标准,资料,用户,文件,用户组,Linux命令行操作之sedsed命令行格式为:sed [-nefri] ‘command’linux命令改用户所属?
linux命令改用户所属?,系统,文件,名称,用户组,命令,用户,名录,基本知识,所有者,终端,linux修改用户属组命令1、打开自己的linux系统。接着打开linux系统用户组命令?
linux系统用户组命令?,系统,管理,密码,代码,用户组,用户,命令,邮箱,电脑,名称,Linux命令之用户组管理在Linux中,用户组是一种将一组用户聚合在linux用户管理的命令?
linux用户管理的命令?,系统,管理,信息,地址,工作,用户,单位,基础,数据,命令,Linux系统下用户以及权限管理1、第一类:root(超级管理员),UID为0,这个linux用户退出命令行?
linux用户退出命令行?,状态,档案,标准,系统,命令,文件,模式,编辑,指令,主机,linux退出vi编辑命令先按ESC进入Command模式,然后输入“:wq”,回车就linux用户自定义命令?
linux用户自定义命令?,系统,时间,标准,软件,项目,电脑,服务,工具,基本知识,材料,如何创建linux命令”快捷方式”或”自定义1、使用命令ln创建linux用户组命令设置?
linux用户组命令设置?,管理,系统,密码,代码,电脑,用户组,用户,软件,新增,命令,linux怎么设置用户组1、首先我们需要在电脑上打开linux操作系统