2011-09-12 13 views
26

Mam przycisk i chcę, aby obraz (plik .ico) i tekst na nim istniał. Mój problem polega na tym, że chcę, aby wysokość przycisku była niewielka, ale nie mogę "zmniejszyć obrazu" tak bardzo jak chcę. Rezultatem jest wyświetlenie fragmentu obrazu na przycisku, a nie obrazu otworu. W obrazie rozmiar zdjęcia jest stały (48x48), a opcja jest szara, więc nie mogę go zmienić. Jak mogę zrobić ten obraz 16x16?Jak zmniejszyć rozmiar obrazu na przycisku?

Odpowiedz

44

Spróbuj buttonname.BackgroundImageLayout = ImageLayout.Stretch; lub zmień tę właściwość w projektancie.

+1

Dziękuję za odpowiedź, ale już mam próbowałem tego, to nie działa. – alexxx

+3

Wygląda na to, że ustawiłeś .ico jako button.image zamiast button.backgroundimage; plz daj mi znać, jeśli tak jest. – Zaphood

+0

Tak, obraz tła może być wyśrodkowany, powiększony, uklejony itp. I miałeś rację Użyłem obrazu, a nie tła. Ale zabawne jest to, że używam dokładnie tych samych właściwości i rozmiaru obrazu za pomocą przycisku paska narzędziowego. Sądzę, że było OK, i tutaj nie mogę zrobić tego, co chcę. Kiedy stosuję obraz w tle zgodnie z sugestią, "powiększanie" szwów jest właściwym ustawieniem, ale utrzymuje obraz pośrodku przycisku i nie może iść w lewo ani w prawo. – alexxx

0

Jeśli masz obraz o rozmiarze 16 * 16, ustaw te właściwości przycisku w czasie projektowania. 1) TextImageRelation - ImageBeforeText 2) textAlign - MiddleRight 3) ImageAlign - MiddleLeft 4) Ustaw

+0

co to jest numer 4? 4) Ustaw "??? –

1

myślę, że jeśli użyć zdarzenia malowania tego przycisku można narysować dowolny obraz w dowolnym rozmiarze, który Cię chcieć. jeśli nie można zmienić rozmiaru obrazu, możesz to zrobić w ten sposób.

12

Moje rozwiązanie polegało na użyciu kontrolki ImageList. Możesz określić rozmiar obrazów, które mają być wyświetlane (np. Ustawię właściwość ImagedList ImageSize na 16x16), a następnie ustaw właściwości button.ImageList i ImageIndex zamiast właściwości Image.

+0

doskonały sln. thnx – n3verLieMe

+0

Myślę, że jego odpowiedź na pytanie ... Thnks –

0

Jeśli używasz DevExpress prosty przycisk, należy ustawić BackgroundImageLayout = ImageLayout.Zoom i ustawić backcolor przycisku Transparent (z Appereance-> Backcolor)

Powiązane problemy