2012-07-14 13 views
16

ボタンの下にあるスクリーンショットのようなアイコンを追加するにはどうすればよいですか?私はそれを行う方法を見つけることができないようです。ボタンの内側にアイコンがありますか?

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

+3

画像を追加していただきありがとうございます。 – alexy12

+0

画像のプロパティ? –

+12

WinForms、WPF、web ??? –

答えて

1

WPF(およびSilverlight)はImageと呼ばれる制御を提供しています。名前が示すように、内部に画像を保持できるコンテナです。あなたがしたいアイコンを表現して、ここのようにそのContentプロパティ

を通して、あなたのButton内に配置するために、このようなコントロールを使用します。

<Button x:Name="btn_ControlRun"> 
    <StackPanel Orientation="Horizontal"> 
     <Image Stretch="Fill" Source="right.png"/> 
     <Label Content="Start Tasks" /> 
    </StackPanel> 
</Button> 
+0

軽微な点では、OPの要件に比べてラベルとイメージの位置が逆になっています。 – Surfbutler

+0

@Surfbutlerを修正しました:) –

5

はこれを試してみてください:WinFormsので

<Button> 
     <StackPanel Orientation="Horizontal"> 
      <Image Source="/Image/ok.png" /> 
      <TextBlock Text="Start Tasks" /> 
     </StackPanel> 
    </Button> 
19

を(Button.Imageを使用MSDN)は次のようになります。

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; 
} 

とあなたがお互いにposition of text and image相対を設定するButton.TextImageRelationプロパティを使用することができます。

  • Overlay:画像とテキストを共有制御上の同じスペース。
  • ImageBeforeText:画像がコントロールのテキストの前に水平に表示されます。
  • TextBeforeImage:コントロールの画像の前にテキストが水平に表示されます。
  • ImageAboveText:イメージがコントロールのテキストの上に垂直に表示されます。
  • TextAboveImage:コントロールの画像の上にテキストが垂直に表示されます。
+0

テキストとイメージの両方の配置をMiddleLeftに設定し、Textプロパティの前にスペースを挿入すると、ボタンの自動サイズを変更してテキストを動的に変更することができます。テキストボタンをオーバーライドしません。 – Larry

6

ボタンをフォーム上に置くと、右クリックしてプロパティをクリックして「イメージ」に移動し、必要なイメージを入力すると下部に移動して「TextImageRelation」をクリックし、ドロップダウンメニューをクリックし、 "ImageBeforeText"をクリックすると、あなたはそれを作ることができますが、私は個人的にはテキストの前にイメージが好きです。

これが役に立ちます。

+0

はい、動作しますが、画像を/ strechに合わせてサイズを変更するにはどうすればいいですか? – AKS

関連する問題