-1

我正在尝试在 WinForms 按钮 87x30 大小的文本之前添加 .ico 48x48 图像:

  button1.BackgroundImageLayout = ImageLayout.Stretch;  
  button1.BackgroundImageLayout = ImageLayout.None;                 
  button1.BackgroundImageLayout = ImageLayout.Zoom;  
  button1.ImageAlign = ContentAlignment.MiddleLeft;
  button1.TextImageRelation = TextImageRelation.ImageBeforeText;
  button1.TextAlign = ContentAlignment.MiddleRight;

结果是:

在此处输入图像描述

我试图弄清楚,如何将左侧的图像与相关距离上的文本对齐,如下所示:

在此处输入图像描述

编辑:

    button1.TextImageRelation = TextImageRelation.ImageBeforeText;
    button1.TextAlign = ContentAlignment.MiddleLeft; /// MiddleRight; // MiddleCenter; 
    button1.ImageAlign = ContentAlignment.MiddleRight; /// MiddleLeft;

结果:

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

1

背景图片属性就像操作系统的桌面背景一样,是一张壁纸,可以拉伸、调整、重复...

因此,在这里您不需要使用BackgroundImage与其文本关联的按钮图标样式图像。

如果您使用该Image属性并将对齐设置为左对齐和右对齐,则一切正常:

在此处输入图像描述

在此处输入图像描述

然后,您可以根据图像大小和/或文本大小和长度调整这些对齐方式以及宽度和高度以达到所需的结果。


另外,正如我最终找到的副本TextImageRelation所示,要简单地将所有内容居中,您可以使用并将其设置为TextImageRelation.ImageBeforeText而不更改对齐方式,并在必要时根据显示图像的大小增加高度以获得干净的结果:

在此处输入图像描述

在此处输入图像描述

于 2021-01-25T14:18:44.887 回答