Winforms, Groupbox.Autosize

07/01/2010 - 13:27 von Armin Zingler | Report spam
Hi,

ich habe einen Button in einer Groupbox.
- Bei beiden Controls stehen Padding und Margin (alle 4 Seiten) auf 0.
- Button.Location = 0; 0.
- Groupbox.AutoSize = true, Groupbox.AutoSizeMode = GrowAndShrink

Erwartet: Groupbox.size = Button.size.
Tatsàchlich: button.size = 72; 34, Groupbox.size = 72; 49

Frage: Woher kommt der extra Raum von 15 Pixeln (49-34) in der Höhe?
In der Breite passt's ja.

Screenshot: (WinXP/SP3)
http://www.abload.de/image.php?img=...onyfoj.png


Armin
 

Lesen sie die antworten

#1 André Pönisch
08/01/2010 - 00:05 | Warnen spam
Hallo Armin,

ich habe einen Button in einer Groupbox.
- Bei beiden Controls stehen Padding und Margin (alle 4 Seiten) auf 0.
- Button.Location = 0; 0.
- Groupbox.AutoSize = true, Groupbox.AutoSizeMode = GrowAndShrink

Erwartet: Groupbox.size = Button.size.
Tatsàchlich: button.size = 72; 34, Groupbox.size = 72; 49

Frage: Woher kommt der extra Raum von 15 Pixeln (49-34) in der Höhe?
In der Breite passt's ja.

Screenshot: (WinXP/SP3)
http://www.abload.de/image.php?img=...onyfoj.png



im oberen Bereich der Groupbox ist ein gewisser Raum für den Titel
vorgesehen. Du überdeckst ihn nur gerade, da du die Location vom Button
hart auf 0;0 gesetzt hast. Die obere Randlinie müsste da gerade mitten
durch deinen Button gehen.

Wenn du den Button im Designer mit der Maus verschiebst müsstest du an den
Ankern auch sehen dass das der normale Client-Beich der Groupbox etwas
weiter unten liegt.

Anscheinend kommt die Autosize-Berechnung nicht damit klar, dass du den
Button über den Groupbox-Header-Bereich gezogen hast.

Wozu brauchst du die Groupbox wenn sie ohne Titel und so klein wie der
Button, also praktisch unsichtbar, sein soll?

Grüße
André

Ähnliche fragen