Rubrik: Oberfläche · Fenster | VB-Versionen: VB.NET | 31.01.08 |
Form exakt positionieren (.NET) Dieser Tipp zeigt, wie sich eine zweite Form exakt positionieren lässt, bspw. unterhalb eines Controls der Hauptform. | ||
Autor: Dieter Otter | Bewertung: | Views: 20.135 |
www.tools4vb.de | System: WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Manchmal soll eine 2. Form aus der Hauptanwendung heraus nicht unbedingt "irgendwo" angezeigt werden, sondern bspw. unterhalb eines bestehenden Controls auf der Hauptform.
Wie das geht, erfahren Sie jetzt
Form unterhalb eines Controls auf der Hauptform positionieren
Hier müssen wir zunächst die Größe und Position des Controls ermitteln und in Bildschirmkoordinaten umrechnen. Danach wird die Form direkt unterhalb des Controls positioniert. Im nachfolgenden Beispiel wird die Form unterhalb eines Buttons positioniert (Button1).
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click With Button1 ' Größe und Position des Buttons Dim r As Rectangle = New Rectangle(.Left, .Top, .Width, .Height) ' in Bildschirmkoordianten umrechnen r = Me.RectangleToScreen(r) ' Form unterhalb des Buttons platzieren Dim oForm As New Form2 oForm.StartPosition = FormStartPosition.Manual oForm.Location = New Point(r.Left + 5, r.Bottom + 5) ' Form anzeigen oForm.ShowDialog() End With End Sub