hi,
ich habe folgendes problem:
ich will in einer form alle textfeld-rahmen mit drawrectangle "überzeichnen".
das klappt auch ganz gut.
Hier der Code:
Private Sub zeichne_textboxBorder(ByVal sender As Object, ByVal e As PaintEventArgs) Handles MyBase.Paint
Dim g As Graphics = e.Graphics
Dim border_pen As New Pen(System.Drawing.Color.FromArgb(CType(CType(216, Byte), Integer), CType(CType(228, Byte), Integer), CType(CType(248, Byte), Integer)), 6.0)
Dim line_pen As New Pen(System.Drawing.Color.FromArgb(CType(CType(216, Byte), Integer), CType(CType(228, Byte), Integer), CType(CType(248, Byte), Integer)), 2.0)
For Each ctr As Control In Me.Controls
If TypeOf ctr Is TextBox Then
g.DrawRectangle(border_pen, New Rectangle(ctr.Location + Me.Location, ctr.Size))
End If
Next
border_pen.Dispose()
line_pen.Dispose()
End Sub
Jedoch befindet sich in dieser form auch eine groupbox. mit den textboxen in dieser sollte das selbe geschehen.
Das sieht so aus:
For Each ctr As Control In Me.gp_allgemeineStammdaten.Controls
If TypeOf ctr Is TextBox Or (TypeOf ctr Is ComboBox And Not ctr.Name Like "*_id") Then
g.DrawRectangle(border_pen, New Rectangle(ctr.Location + Me.gp_allgemeineStammdaten.Location, ctr.Size))
End If
Next
Leider befindet sich aber das gezeichnete "hinter" der groupbox (z-achse) und wird somit verdeckt. wie kann ich es "nach vorne" holen? mit bringtofront() oder sendtoback() schaff ichs irgenwie nicht ... weil ich auch nicht weiss, worauf ich die methode anwenden soll. g.bringtofront() funkt nicht ...
kann mir bitte jemand helfen? das muss doch möglich sein ...
danke!
mster
ich habe folgendes problem:
ich will in einer form alle textfeld-rahmen mit drawrectangle "überzeichnen".
das klappt auch ganz gut.
Hier der Code:
Private Sub zeichne_textboxBorder(ByVal sender As Object, ByVal e As PaintEventArgs) Handles MyBase.Paint
Dim g As Graphics = e.Graphics
Dim border_pen As New Pen(System.Drawing.Color.FromArgb(CType(CType(216, Byte), Integer), CType(CType(228, Byte), Integer), CType(CType(248, Byte), Integer)), 6.0)
Dim line_pen As New Pen(System.Drawing.Color.FromArgb(CType(CType(216, Byte), Integer), CType(CType(228, Byte), Integer), CType(CType(248, Byte), Integer)), 2.0)
For Each ctr As Control In Me.Controls
If TypeOf ctr Is TextBox Then
g.DrawRectangle(border_pen, New Rectangle(ctr.Location + Me.Location, ctr.Size))
End If
Next
border_pen.Dispose()
line_pen.Dispose()
End Sub
Jedoch befindet sich in dieser form auch eine groupbox. mit den textboxen in dieser sollte das selbe geschehen.
Das sieht so aus:
For Each ctr As Control In Me.gp_allgemeineStammdaten.Controls
If TypeOf ctr Is TextBox Or (TypeOf ctr Is ComboBox And Not ctr.Name Like "*_id") Then
g.DrawRectangle(border_pen, New Rectangle(ctr.Location + Me.gp_allgemeineStammdaten.Location, ctr.Size))
End If
Next
Leider befindet sich aber das gezeichnete "hinter" der groupbox (z-achse) und wird somit verdeckt. wie kann ich es "nach vorne" holen? mit bringtofront() oder sendtoback() schaff ichs irgenwie nicht ... weil ich auch nicht weiss, worauf ich die methode anwenden soll. g.bringtofront() funkt nicht ...
kann mir bitte jemand helfen? das muss doch möglich sein ...
danke!
mster
Comment