Hallo Leute,
ich habe einmal eine Verständnisfrage zu dem Befehl Drawline.
Ich möchte auf dem Formular eine Textbox mit zwei horizontalen Linien unterstreichen.
Das funktioniert auch, es sieht ein bisschen komisch aus.
Hier vorab mein Code:
Ich hoffe, jemand kann hier etwas Licht ins Dunkel bringen.
Vielen Dank im Voraus.
Gruß Nimrod
ich habe einmal eine Verständnisfrage zu dem Befehl Drawline.
Ich möchte auf dem Formular eine Textbox mit zwei horizontalen Linien unterstreichen.
Das funktioniert auch, es sieht ein bisschen komisch aus.
Hier vorab mein Code:
Quellcode
- Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
- Dim _Top As Single = TxtCurrency.Top + TxtCurrency.Height + 2
- Dim _Width As Single = TxtCurrency.Width * 2 + 9
- Dim _Left As Single = TxtCurrency.Left
- Dim pointA1 As New PointF(_Left, _Top)
- Dim pointA2 As New PointF(_Width, _Top)
- Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Black)
- Dim formGraphics As System.Drawing.Graphics
- formGraphics = Me.CreateGraphics()
- formGraphics.DrawLine(myPen, pointA1, pointA2)
- Dim pointB1 As New PointF(_Left, _Top + 2)
- Dim pointB2 As New PointF(_Width, _Top + 2)
- formGraphics.DrawLine(myPen, pointB1, pointB2)
- myPen.Dispose()
- formGraphics.Dispose()
- End Sub
- Warum kann ich nicht einfach die txtCurrency.width für die Länge der Linie nehmen?
Ich muss mir die Länge erst mühsam zusammenrechnen, was einfach unschön ist. Bei txtCurrency.Top funktioniert das ja auch, oder ist das Zufall?
- Warum muss ich eine zweite pointB[1|2]-Variable verwenden, wenn ich eine zweite Linie zeichnen möchte?
Ich habe es schon versucht, die Variable pointA[1|2] einfach zu ändern und die zweite Linie zu zeichnen, das hat aber nicht funktioniert.
Ich hoffe, jemand kann hier etwas Licht ins Dunkel bringen.
Vielen Dank im Voraus.
Gruß Nimrod