Usercontrol "Seperator"

    • VB.NET

      Usercontrol "Seperator"

      Hi!

      In Anlehnung an die beiden Threads (1, 2) habe ich mal kurz ein Usercontrol zusammengeschrieben. Ist nicht perfekt, fühlt euch frei, zu testen, verändern, spielen, lernen.
      Kommentare willkommen, Änderungswünsche zwecklos.

      Anwendung: neues Projekt erstellen, "Benutzersteuerelement" hinzufügen, dessen Quellcode durch untenstehenden ersetzen, Projekt "neu erstellen", fertisch.
      Lizenz: "have fun" ;)

      VB.NET-Quellcode

      1. ''' <summary>
      2. ''' Benutzersteuerelement "Linie"
      3. ''' </summary>
      4. ''' <remarks></remarks>
      5. Public Class Linie
      6. ''' <summary>
      7. ''' definiert intern die verwendeten Farben für den Effekt
      8. ''' </summary>
      9. ''' <remarks></remarks>
      10. Dim color_1, color_2 As Color
      11. ''' <summary>
      12. ''' definiert extern die verwendeten Farben für den Effekt
      13. ''' </summary>
      14. ''' <value></value>
      15. ''' <returns></returns>
      16. ''' <remarks>vorbelegt mit Standard-Wwert</remarks>
      17. Public Property Farbe1 As Color = Color.LightGray
      18. ''' <summary>
      19. ''' definiert extern die verwendeten Farben für den Effekt
      20. ''' </summary>
      21. ''' <value></value>
      22. ''' <returns></returns>
      23. ''' <remarks>vorbelegt mit Standard-Wwert</remarks>
      24. Public Property Farbe2 As Color = Color.White
      25. ''' <summary>
      26. ''' der Style. Linie ist eingraviert, oder erhaben...
      27. ''' </summary>
      28. ''' <remarks>...bessere Bezeichnungen sind willkommen</remarks>
      29. Public Enum enumStyle
      30. engraved
      31. hovered
      32. End Enum
      33. Private _style As enumStyle = enumStyle.engraved
      34. ''' <summary>
      35. ''' der Style der Linie
      36. ''' </summary>
      37. ''' <value></value>
      38. ''' <returns></returns>
      39. ''' <remarks></remarks>
      40. Property Style As enumStyle
      41. Set(ByVal value As enumStyle)
      42. _style = value
      43. Select Case value
      44. Case enumStyle.engraved
      45. color_1 = Farbe1
      46. color_2 = Farbe2
      47. Case enumStyle.hovered
      48. color_1 = Farbe2
      49. color_2 = Farbe1
      50. End Select
      51. Me.Invalidate()
      52. End Set
      53. Get
      54. Return _style
      55. End Get
      56. End Property
      57. Private Sub control_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
      58. 'hier wird etwas getrickst:
      59. '......die erste Linie wird gezeichnet,
      60. Using p As New Pen(color_1, 1)
      61. With e.Graphics
      62. Select Case Ausrichtung
      63. Case enumAusrichtung.vertical
      64. .DrawLine(p, 0, 1, 0, Height)
      65. Case enumAusrichtung.horizontal
      66. .DrawLine(p, 1, 0, Width, 0)
      67. Case Else
      68. End Select
      69. End With
      70. End Using
      71. '......die zweite Linie ist die Hintergrundfarbe
      72. Me.BackColor = color_2
      73. End Sub
      74. Private Sub control_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
      75. 'Bei veränderung zur Entwurfszeit
      76. If Ausrichtung = enumAusrichtung.vertical Then
      77. Me.Size = New Size(2, Height)
      78. ElseIf Ausrichtung = enumAusrichtung.horizontal Then
      79. Me.Size = New Size(Width, 2)
      80. End If
      81. Me.Invalidate()
      82. End Sub
      83. Public Enum enumAusrichtung
      84. horizontal
      85. vertical
      86. End Enum
      87. Private _ausrichtung As enumAusrichtung = enumAusrichtung.horizontal
      88. ''' <summary>
      89. ''' die Ausrichtung der Linie
      90. ''' </summary>
      91. ''' <value></value>
      92. ''' <returns></returns>
      93. ''' <remarks></remarks>
      94. Public Property Ausrichtung As enumAusrichtung
      95. Set(ByVal value As enumAusrichtung)
      96. _ausrichtung = value
      97. If Ausrichtung = enumAusrichtung.vertical Then
      98. Me.Size = New Size(2, 100)
      99. ElseIf Ausrichtung = enumAusrichtung.horizontal Then
      100. Me.Size = New Size(100, 2)
      101. End If
      102. Me.Invalidate()
      103. End Set
      104. Get
      105. Return _ausrichtung
      106. End Get
      107. End Property
      108. Sub New()
      109. ' Dieser Aufruf ist für den Designer erforderlich.
      110. InitializeComponent()
      111. ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
      112. Ausrichtung = enumAusrichtung.horizontal
      113. Style = enumStyle.engraved
      114. End Sub
      115. End Class


      LG, der_Kurt