如何处理WinForm应用程序中不同字体大小/本地化文本的控件大小



我在尝试在WinForm应用程序中支持以下任何内容时遇到了一个相同的问题:

  1. 允许用户更改所有备忘录/标签/按钮/编辑/组合/网格/.中的字体和字体大小的选项。等控制。
  2. 本地化,其中文本的长度/大小在不同语言中发生变化(并且需要更大的字体大小(
  3. "Windows颜色和外观"设置,可让您更改字体和字体大小

问题是控件的大小/位置/布局会由于大小的变化而全部混乱。控件无法显示其所有内容,或者自动调整大小的控件会与其他控件重叠,或者被父控件的绑定剪裁,或者自动换行出现问题,或者......等。

控件通常是一些备忘录/标签/按钮/编辑/组合/网格/..等简单地放置在面板/分组框/选项卡/..等,或嵌套在其他容器控件中的此类控件的组合。我想知道是否有一些简单的标准不那么痛苦的方法来解决这个问题。(另外,想知道是否有一些简单或标准的方法可以使控件自动选取字体设置,而不是手动分配字体。

提前谢谢。

我建议将控件放在为此目的设计的容器中......比如TableLayoutPanel. 如果您的布局很复杂,甚至可以嵌套面板。 有了它,您可以允许大多数事物AutoSize,并根据总宽度/高度的百分比控制位置。

据我所知,您希望更改所有控件的字体大小,并担心这些更改会破坏您的布局。

首先,您需要弄清楚如何处理更大/更长的文本。您可以换行字符串或修剪尾部,也可以放大布局,同时保持控件的比例不变。除此之外,我认为没有任何简单的解决方案来处理对字体大小/语言的任意更改。

最新更新