2012-07-14 11 views
16

Jak dodać ikonę, jak na zrzucie ekranu poniżej przycisku? Nie mogę znaleźć sposobu na zrobienie tego.Ikona wewnątrz przycisku?

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

+3

Dzięki Dante za dodanie zdjęcia :) – alexy12

+0

Image property? –

+12

WinForms, WPF, web ??? –

Odpowiedz

1

WPF (i Silverlight) oferuje kontrolę nazywa Image. Jak sama nazwa wskazuje, jest to pojemnik, który może pomieścić obraz w środku. Użyj takiej kontroli do reprezentowania żądaną ikonę, a następnie umieścić go wewnątrz Button poprzez Content własności

jak tutaj:

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

Niewielki punkt, pozycje etykiety i obrazu są odwrócone w porównaniu do wymagań PO. – Surfbutler

+0

@Surfbutler corrected :) –

5

Spróbuj tego:

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

W WinForms używać Button.Image (MSDN) w następujący sposób:

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

i można korzystać Button.TextImageRelation obiekt, aby ustawić position of text and image względem siebie:

  • Overlay: obraz i tekst akcja taka sama przestrzeń na kontrolę.
  • ImageBeforeText: obraz jest wyświetlany poziomo przed tekstem kontrolki.
  • TextBeforeImage: tekst jest wyświetlany poziomo przed obrazem formantu.
  • ImageAboveText: obraz jest wyświetlany pionowo nad tekstem kontrolki.
  • TextAboveImage: tekst jest wyświetlany pionowo nad obrazem kontrolki.
+0

Jeśli umieścisz tekst i wyrównanie obrazu w MiddleLeft i umieścisz spacje przed właściwościami tekstu, będzie można zrobić przycisk autosize i dynamicznie zmieniać tekst, aby pasował idealnie, a obraz nie zastępuje przycisku tekstowego. – Larry

6

Jeśli umieścisz przycisk na formularzu, można kliknąć prawym przyciskiem myszy i kliknij Właściwości, a następnie przejdź do „Obraz” i umieścić w obrazie, który chcesz, idą na dno i kliknij „TextImageRelation” i kliknij menu rozwijane, a następnie kliknij "ImageBeforeText", możesz zrobić, jak chcesz, ale ja osobiście lubię obraz przed tekstem najlepiej.

Mam nadzieję, że to pomoże.

+0

Tak, działa, ale jak zmienić rozmiar obrazu, aby dopasować/rozciągnąć? – AKS

Powiązane problemy