C# 如何处理WinForm应用程序中不同字体大小/本地化文本的控件大小?
我在WinForm应用程序中尝试支持以下任何一项时也面临同样的问题:C# 如何处理WinForm应用程序中不同字体大小/本地化文本的控件大小?,c#,winforms,layout,autosize,C#,Winforms,Layout,Autosize,我在WinForm应用程序中尝试支持以下任何一项时也面临同样的问题: 允许用户在所有备忘录/标签/按钮/编辑/组合/网格等控件中更改字体和字体大小的选项 本地化,其中文本的长度/大小在不同语言中发生变化(并且需要更大的字体大小) “Windows颜色和外观”设置,用于更改字体和字体大小 问题是控件的大小/位置/布局会因为大小的变化而变得混乱。要么控件无法显示其所有内容,要么自动调整大小的控件将与其他控件重叠,要么被父控件的绑定截断,要么出现换行字问题,等等 这些控件通常是一些备忘录/标签/按钮/
提前感谢。据我所知,您希望更改所有控件的字体大小,并担心这些更改会破坏您的布局
首先,您需要弄清楚如何处理较大/较长的文本。您可以包裹字符串或修剪尾部,也可以使布局更大,同时保持控件的比例不变。除此之外,我认为没有任何简单的解决方案可以处理对字体大小/语言的任意更改。我建议将控件放置在专门设计的容器中……例如
TableLayoutPanel
。如果布局复杂,甚至可能是嵌套面板。有了它,您可以允许大多数东西自动调整大小,并根据总宽度/高度的百分比控制位置。winforms不依赖于分辨率,也不支持主题化。这就是为什么创建WPF来取代它。如果您需要这些功能,我强烈建议您使用当前相关的.Net Windows UI技术。