2017-09-19 5 views
0

Ich erstelle ein Panel auf der linken Seite. Ich habe die Schaltflächen (Bild oben und Text unten) programmgesteuert auf diesem Panel hinzugefügt. Die Breite des Panels ist festgelegt, und wenn ich die Höhe des Buttons festlege, überlappen sich Bild und Text, wenn der Text so lang ist. Aber ich weiß nicht, die Höhe der hinzugefügten Taste.Erstellen Sie Schaltfläche auf der festen Breite Panel programmgesteuert C#

füge ich diese Tasten wie

btnFav.Size = new System.Drawing.Size(90, 50); 

enter image description here

wenn ich automatisch anpassen, wie diese zeigen, schreiben,

enter image description here

durch die Art und Weise,

btnFav.ImageAlign = System.Drawing.ContentAlignment.TopCenter; 
btnFav.TextAlign = ContentAlignment.BottomCenter; 
+0

Sie müssen einige Code zu erhalten, so dass jemand versuchen, die zeigen kann Problem. –

+0

Fügen Sie ein TableLayout mit zwei Zeilen in das Bedienfeld ein und platzieren Sie Schaltflächen darauf. – mggSoft

+0

habe ich aber nochmal text und image überlappen wenn ich autosize write – Tubaa

Antwort

0

Warum nicht ein benutzerdefiniertes Steuerelement? Sehr einfach zu tun, geben Sie einfach ein Rechteck, wo der Text platziert werden muss, und legen Sie das Bild neben oder neben oder darunter.

EG.

Überschreiben der OnPaint() -Methode

Rectangle textRect = new Rectangle(0, Height/2, Width, Height/2); 
e.Graphics.DrawString(Text, Font, Brush, textRect, StringAlignment); 
e.Graphics.DrawImage(MyImage, 0, 0); 

Dadurch wird das Bild über den Text platzieren, auch eine viel sauberer Weg des Betreibens

Verwandte Themen