按钮TextImageRelation和TextAlign问题

时间:2010-12-03 14:51:05

标签: .net winforms .net-2.0

在我的项目中使用Button时,他们会公开一个名为TextImageRelation的属性。这用于告诉控件将按钮图像放在哪里与文本相关(我使用的是ImageBeforeText选项)。现在,我需要将文本与中心对齐。

我认为的逻辑结果是:图像与左侧对齐,按钮文本位于图像与按钮右边界之间的空间中。

但不是......文本在图像旁边对齐或与中心对齐但未考虑图像(不确定是哪种情况)。

有办法改变这种行为吗?

1 个答案:

答案 0 :(得分:1)

不幸的是你做不到。布局由内部ButtonBaseAdapter.CommonLayout()方法确定,您无法覆盖它。

TextImageRelation = Overlay根据TextAlign设置对齐Text。图像被忽略。

设置TextImageRelation = ImageBeforeText后,Text始终与图像右侧齐平。间隙大小是固定的,3像素。将文本向右移动的一种非常愚蠢但有效的方法是在文本前加上空格。不够好,以确保它居中。你通常不会想要这个,按钮标题应该排成一行。请注意,RightToLeft = Yes为您提供了更多修补方法,而不是您正在寻找的方式。