32

如何在按钮内添加如下屏幕截图中的图标?我似乎找不到该怎么做。

http://i.stack.imgur.com/6HGcK.jpg

4

4 回答 4

36

在 WinForms 中使用Button.ImageMSDN),如下所示:

private void SetMyButtonIcon()
 {
    // Assign an image to the button.
    button1.Image = Image.FromFile("C:\\Graphics\\My.ico");
    // Align the image and text on the button.
    button1.ImageAlign = ContentAlignment.MiddleRight;    
    button1.TextAlign = ContentAlignment.MiddleLeft;
 }

您可以使用Button.TextImageRelationProperty 设置文本和图像相对于彼此的位置:

  • Overlay:图像和文本在控件上共享相同的空间。
  • ImageBeforeText:图像在控件文本之前水平显示。
  • TextBeforeImage:文本在控件图像之前水平显示。
  • ImageAboveText:图像垂直显示在控件文本的上方。
  • TextAboveImage:文本垂直显示在控件图像的上方。
于 2012-07-14T12:43:47.203 回答
10

如果您将按钮放在表单上,​​您可以右键单击它并单击属性,然后转到“图像”并放入您想要的图像,它们转到底部并单击“TextImageRelation”并单击下拉菜单然后单击“ImageBeforeText”,您可以随意制作,但我个人最喜欢文字前的图像。

希望这可以帮助。

于 2012-12-27T15:00:14.343 回答
7

尝试这个:

    <Button>
        <StackPanel Orientation="Horizontal">
            <Image Source="/Image/ok.png" />
            <TextBlock Text="Start Tasks" />
        </StackPanel>
    </Button>
于 2012-07-14T12:21:04.480 回答
3

WPF(和 Silverlight)提供了一个名为Image. 顾名思义,它是一个可以在里面保存图像的容器。使用这样的控件来表示您想要的图标,然后Button通过它的Content属性将其放置在您的内部

像这儿:

<Button x:Name="btn_ControlRun">
    <StackPanel Orientation="Horizontal">
        <Image Stretch="Fill" Source="right.png"/>
        <Label Content="Start Tasks" />
    </StackPanel>
</Button>
于 2012-07-14T12:19:23.220 回答