【问题标题】:Align button background image对齐按钮背景图像
【发布时间】:2013-09-05 13:20:40
【问题描述】:

我的 WinForms 应用程序中有一个按钮,我向它添加了图像和文本。我将文本向右对齐并想将背景图像向左对齐,但发现这是不可能的。

有什么办法吗?

我也尝试在按钮上仅设置图像,但无法在按钮属性中调整其大小。

有人可以帮我解决这个问题吗?非常感谢。

如果不可能,我将不得不在 mspaint 中调整每个图像的大小。

这是结果(作为背景):

我需要将 BackgroundImage 左对齐。

这是使用对齐时的图像结果(无法调整大小)

【问题讨论】:

标签: c# winforms


【解决方案1】:
  1. 使用Image属性设置你的图片(确保它适合按钮高度,如果你从项目资源文件夹打开它,你可以改变图片大小)
  2. ImageAlign 设置为MiddleLeft
  3. TextAlign 设置为MiddleRight

不要更改任何其他内容。 IE。 TextImageRelation 应该是 Overlay。结果:

【讨论】:

  • 您好,感谢您的回复,但我仍然得到相同的结果,只是图像在中间,但由于按钮高度,图像的顶部和按钮不可见。请问有什么建议吗?
  • @Marek 你在使用Image 属性来设置图像吗?还要确保您提供了正确的对齐方式。看起来你有默认的MiddleCenter 对齐方式。
  • 感谢您的回答,但最后我将该图像调整为所需的 24x24 大小,它解决了我的问题。谢谢你的一切。
【解决方案2】:

设置 Button 的这些属性。

ImageAlign to MiddleRight
TextImageRelation to ImageBeforeText
TextAlign as MiddleCenter

让它在 Button 上调整大小。见下文:

Bitmap image = Bitmap.FromFile(oFile) as Bitmap;
Bitmap resized = new Bitmap(image, new Size(30, 30));
button1.Image = resized;
button1.Text = "Button";
button1.ImageAlign = ContentAlignment.MiddleLeft;
button1.TextImageRelation = TextImageRelation.ImageBeforeText;
button1.TextAlign = ContentAlignment.MiddleRight;

【讨论】:

  • button1.TextImageRelation = TextImageRelation.ImageBeforeText; 这节省了我的时间。我认为设置对齐方式就足够了,但这是必要的。
【解决方案3】:

您可以使用Image 属性代替BackgroundImage。您可以稍后使用ImageAlign 属性设置对齐。

【讨论】:

  • 是的,但我以后无法调整它的大小。
猜你喜欢
  • 1970-01-01
  • 2018-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多