【发布时间】:2015-08-05 04:44:29
【问题描述】:
我创建了两个按钮,其中包含一个图像,用作图标。 通过使用 TextImageRelation 属性中的 ImageBeforeText 选项,它们看起来像这样:
如果我为小按钮选择大图像,它将覆盖整个按钮;如果我为大按钮选择小图像,相比之下它看起来会很小。此外,我正在使用 TableLayoutPanel 并为每一行和每一列分配百分比,因此所有控件(包括这两个按钮)彼此成比例,并且如果调整表单大小或使用不同的分辨率,仍然看起来“有条理”。
这就是问题所在:事实上,如果我调整表单的大小,这两个按钮和所有其他控件都会随之出现(因为 TableLayoutPanel),但是这两个按钮中的图标却没有。有没有办法确保图标也调整大小,以便它们可以与按钮成比例?
【问题讨论】:
-
你能分享一些工作演示吗?我想我理解你的问题,但看到确切的
UI样本会很有趣。我的建议是按钮永远不应该改变它们的大小......最多,你会改变它们的对齐方式,但是它们的大小?不过,这并不能回答您的问题。 -
@LeandroTaset 我的按钮必须更改大小,因为我的客户希望它们更改。这就是为什么我使用 TableLayoutPanel 和每行/列的百分比,所以只要表单调整大小或分辨率发生变化,按钮就会调整大小并适合。我正在寻求解决不同分辨率的方法(TableLayoutPanel / percents 的想法来自 Microsoft Docs)。
-
@soulblazer:很不幸。现在我真的很想看到至少这样
UI的模型。你的客户可能是错的(他们并不总是对的,你知道的)。如果您仍然想遵守他们的要求,我认为您必须使用自己的绘制方法创建自己的自定义按钮。 -
@LeandroTaset 我知道这听起来很“骇人听闻”,但这是我能找到的唯一方法来解决 WinForms 中的分辨率独立性问题(即:用户调整表单大小或更改分辨率并且一切都不再适合屏幕,但是该解决方案适合...嗯,它适用于我尝试过的分辨率)。在 WPF 中会更容易,但同时也是朋友的客户现在不能购买更新的计算机。
-
@LeandroTaset 遗憾的是,它没有,但我最终制作了一个自定义按钮,可以很好地调整图像大小(使用我在 2 天前找到的已经创建的自定义按钮代码作为指南)。还是谢谢你。
标签: c# image winforms button autoresize