Andere Lösung, als 40 X If...End If

  • VB.NET

Es gibt 23 Antworten in diesem Thema. Der letzte Beitrag () ist von ~blaze~.

    Andere Lösung, als 40 X If...End If

    Edit by ErfinderDesRades: (Thema verschoben) Bitte richtiges UnterForum wählen!


    guten morgen, hab eig nur ein kleines anliegen.

    gibt es eine andere möglichkeit als 40 X If...End If zu schreiben?

    derzeit sieht das so aus :

    VB.NET-Quellcode

    1. '____1,3 mm
    2. If TextBox1.Text < "1,30" ThenTextBox1.BackColor = Color.Red
    3. ElseTextBox1.BackColor = Color.LightGreen
    4. End If
    5. If TextBox27.Text < "1,30" ThenTextBox27.BackColor = Color.Red
    6. ElseTextBox27.BackColor = Color.LightGreen
    7. End If
    8. If TextBox6.Text < "1,30" ThenTextBox6.BackColor = Color.Red
    9. ElseTextBox6.BackColor = Color.LightGreen
    10. End If
    11. If TextBox30.Text < "1,30" ThenTextBox30.BackColor = Color.Red
    12. ElseTextBox30.BackColor = Color.LightGreen
    13. End If
    14. If TextBox60.Text < "1,30" ThenTextBox60.BackColor = Color.Red
    15. ElseTextBox60.BackColor = Color.LightGreen
    16. End If
    17. If TextBox54.Text < "1,30" ThenTextBox54.BackColor = Color.Red
    18. ElseTextBox54.BackColor = Color.LightGreen
    19. End If
    20. If TextBox84.Text < "1,30" ThenTextBox84.BackColor = Color.Red
    21. ElseTextBox84.BackColor = Color.LightGreen
    22. End If
    23. If TextBox78.Text < "1,30" ThenTextBox78.BackColor = Color.Red
    24. ElseTextBox78.BackColor = Color.LightGreen
    25. End If
    26. '____1,2 mm
    27. If TextBox36.Text < "1,20" ThenTextBox36.BackColor = Color.Red
    28. ElseTextBox36.BackColor = Color.LightGreen
    29. End If
    30. If TextBox33.Text < "1,20" ThenTextBox33.BackColor = Color.Red
    31. ElseTextBox33.BackColor = Color.LightGreen
    32. End If
    33. If TextBox48.Text < "1,20" ThenTextBox48.BackColor = Color.Red
    34. ElseTextBox48.BackColor = Color.LightGreen
    35. End If
    36. If TextBox42.Text < "1,20" ThenTextBox42.BackColor = Color.Red
    37. ElseTextBox42.BackColor = Color.LightGreen
    38. End If
    39. If TextBox72.Text < "1,20" ThenTextBox72.BackColor = Color.Red
    40. ElseTextBox72.BackColor = Color.LightGreen
    41. End If
    42. If TextBox66.Text < "1,20" ThenTextBox66.BackColor = Color.Red
    43. ElseTextBox66.BackColor = Color.LightGreen
    44. End If
    45. '____2,3 mm
    46. If TextBox18.Text < "2,30" ThenTextBox18.BackColor = Color.Red
    47. ElseTextBox18.BackColor = Color.LightGreen
    48. End If
    49. If TextBox12.Text < "2,30" ThenTextBox12.BackColor = Color.Red
    50. ElseTextBox12.BackColor = Color.LightGreen
    51. End If
    52. If TextBox15.Text < "2,30" ThenTextBox15.BackColor = Color.Red
    53. ElseTextBox15.BackColor = Color.LightGreen
    54. End If
    55. If TextBox9.Text < "2,30" ThenTextBox9.BackColor = Color.Red
    56. ElseTextBox9.BackColor = Color.LightGreen
    57. End If
    58. If TextBox24.Text < "2,30" ThenTextBox24.BackColor = Color.Red
    59. ElseTextBox24.BackColor = Color.LightGreen
    60. End If
    61. If TextBox21.Text < "2,30" ThenTextBox21.BackColor = Color.Red
    62. ElseTextBox21.BackColor = Color.LightGreen
    63. End If
    64. If TextBox57.Text < "2,30" ThenTextBox57.BackColor = Color.Red
    65. ElseTextBox57.BackColor = Color.LightGreen
    66. End If
    67. If TextBox51.Text < "2,30" ThenTextBox51.BackColor = Color.Red
    68. ElseTextBox51.BackColor = Color.LightGreen
    69. End If
    70. If TextBox45.Text < "2,30" ThenTextBox45.BackColor = Color.Red
    71. ElseTextBox45.BackColor = Color.LightGreen
    72. End If
    73. If TextBox39.Text < "2,30" ThenTextBox39.BackColor = Color.Red
    74. ElseTextBox39.BackColor = Color.LightGreen
    75. End If
    76. If TextBox81.Text < "2,30" ThenTextBox81.BackColor = Color.Red
    77. ElseTextBox81.BackColor = Color.LightGreen
    78. End If
    79. If TextBox75.Text < "2,30" ThenTextBox75.BackColor = Color.Red
    80. ElseTextBox75.BackColor = Color.LightGreen
    81. End If
    82. If TextBox69.Text < "2,30" ThenTextBox69.BackColor = Color.Red
    83. ElseTextBox69.BackColor = Color.LightGreen
    84. End If
    85. If TextBox63.Text < "2,30" ThenTextBox63.BackColor = Color.Red
    86. ElseTextBox63.BackColor = Color.LightGreen
    87. End If
    88. '____0,35 mm
    89. If TextBox17.Text < "0,35" ThenTextBox17.BackColor = Color.Red
    90. ElseTextBox17.BackColor = Color.LightGreen
    91. End If
    92. If TextBox16.Text < "0,35" ThenTextBox16.BackColor = Color.Red
    93. ElseTextBox16.BackColor = Color.LightGreen
    94. End If
    95. If TextBox11.Text < "0,35" ThenTextBox11.BackColor = Color.Red
    96. ElseTextBox11.BackColor = Color.LightGreen
    97. End If
    98. If TextBox10.Text < "0,35" ThenTextBox10.BackColor = Color.Red
    99. ElseTextBox10.BackColor = Color.LightGreen
    100. End If
    101. If TextBox14.Text < "0,35" ThenTextBox14.BackColor = Color.Red
    102. ElseTextBox14.BackColor = Color.LightGreen
    103. End If
    104. If TextBox13.Text < "0,35" ThenTextBox13.BackColor = Color.Red
    105. ElseTextBox13.BackColor = Color.LightGreen
    106. End If
    107. If TextBox8.Text < "0,35" ThenTextBox8.BackColor = Color.Red
    108. ElseTextBox8.BackColor = Color.LightGreen
    109. End If
    110. If TextBox7.Text < "0,35" ThenTextBox7.BackColor = Color.Red
    111. ElseTextBox7.BackColor = Color.LightGreen
    112. End If
    113. If TextBox56.Text < "0,35" ThenTextBox56.BackColor = Color.Red
    114. ElseTextBox56.BackColor = Color.LightGreen
    115. End If
    116. If TextBox55.Text < "0,35" ThenTextBox55.BackColor = Color.Red
    117. ElseTextBox55.BackColor = Color.LightGreen
    118. End If
    119. If TextBox50.Text < "0,35" ThenTextBox50.BackColor = Color.Red
    120. ElseTextBox50.BackColor = Color.LightGreen
    121. End If
    122. If TextBox49.Text < "0,35" ThenTextBox49.BackColor = Color.Red
    123. ElseTextBox49.BackColor = Color.LightGreen
    124. End If
    125. If TextBox80.Text < "0,35" ThenTextBox80.BackColor = Color.Red
    126. ElseTextBox80.BackColor = Color.LightGreen
    127. End If
    128. If TextBox79.Text < "0,35" ThenTextBox79.BackColor = Color.Red
    129. ElseTextBox79.BackColor = Color.LightGreen
    130. End If
    131. If TextBox74.Text < "0,35" ThenTextBox74.BackColor = Color.Red
    132. ElseTextBox74.BackColor = Color.LightGreen
    133. End If
    134. If TextBox73.Text < "0,35" ThenTextBox73.BackColor = Color.Red
    135. ElseTextBox73.BackColor = Color.LightGreen
    136. End If
    137. '____0,20 mm
    138. If TextBox2.Text < "0,20" ThenTextBox2.BackColor = Color.Red
    139. ElseTextBox2.BackColor = Color.LightGreen
    140. End If
    141. If TextBox3.Text < "0,20" ThenTextBox3.BackColor = Color.Red
    142. ElseTextBox3.BackColor = Color.LightGreen
    143. End If
    144. If TextBox26.Text < "0,20" ThenTextBox26.BackColor = Color.Red
    145. ElseTextBox26.BackColor = Color.LightGreen
    146. End If
    147. If TextBox25.Text < "0,20" ThenTextBox25.BackColor = Color.Red
    148. ElseTextBox25.BackColor = Color.LightGreen
    149. End If
    150. If TextBox5.Text < "0,20" ThenTextBox5.BackColor = Color.Red
    151. ElseTextBox5.BackColor = Color.LightGreen
    152. End If
    153. If TextBox4.Text < "0,20" ThenTextBox4.BackColor = Color.Red
    154. ElseTextBox4.BackColor = Color.LightGreen
    155. End If
    156. If TextBox29.Text < "0,20" ThenTextBox29.BackColor = Color.Red
    157. ElseTextBox29.BackColor = Color.LightGreen
    158. End If
    159. If TextBox28.Text < "0,20" ThenTextBox28.BackColor = Color.Red
    160. ElseTextBox28.BackColor = Color.LightGreen
    161. End If
    162. If TextBox35.Text < "0,20" ThenTextBox35.BackColor = Color.Red
    163. ElseTextBox35.BackColor = Color.LightGreen
    164. End If
    165. If TextBox34.Text < "0,20" ThenTextBox34.BackColor = Color.Red
    166. ElseTextBox34.BackColor = Color.LightGreen
    167. End If
    168. If TextBox23.Text < "0,20" ThenTextBox23.BackColor = Color.Red
    169. ElseTextBox23.BackColor = Color.LightGreen
    170. End If
    171. If TextBox22.Text < "0,20" ThenTextBox22.BackColor = Color.Red
    172. ElseTextBox22.BackColor = Color.LightGreen
    173. End If
    174. If TextBox32.Text < "0,20" ThenTextBox32.BackColor = Color.Red
    175. ElseTextBox32.BackColor = Color.LightGreen
    176. End If
    177. If TextBox31.Text < "0,20" ThenTextBox31.BackColor = Color.Red
    178. ElseTextBox31.BackColor = Color.LightGreen
    179. End If
    180. If TextBox20.Text < "0,20" ThenTextBox20.BackColor = Color.Red
    181. ElseTextBox20.BackColor = Color.LightGreen
    182. End If
    183. If TextBox19.Text < "0,20" ThenTextBox19.BackColor = Color.Red
    184. ElseTextBox19.BackColor = Color.LightGreen
    185. End If
    186. If TextBox59.Text < "0,20" ThenTextBox59.BackColor = Color.Red
    187. ElseTextBox59.BackColor = Color.LightGreen
    188. End If
    189. If TextBox58.Text < "0,20" ThenTextBox58.BackColor = Color.Red
    190. ElseTextBox58.BackColor = Color.LightGreen
    191. End If
    192. If TextBox53.Text < "0,20" ThenTextBox53.BackColor = Color.Red
    193. ElseTextBox53.BackColor = Color.LightGreen
    194. End If
    195. If TextBox52.Text < "0,20" ThenTextBox52.BackColor = Color.Red
    196. ElseTextBox52.BackColor = Color.LightGreen
    197. End If
    198. If TextBox47.Text < "0,20" ThenTextBox47.BackColor = Color.Red
    199. ElseTextBox47.BackColor = Color.LightGreen
    200. End If
    201. If TextBox46.Text < "0,20" ThenTextBox46.BackColor = Color.Red
    202. ElseTextBox46.BackColor = Color.LightGreen
    203. End If
    204. If TextBox41.Text < "0,20" ThenTextBox41.BackColor = Color.Red
    205. ElseTextBox41.BackColor = Color.LightGreen
    206. End If
    207. If TextBox40.Text < "0,20" ThenTextBox40.BackColor = Color.Red
    208. ElseTextBox40.BackColor = Color.LightGreen
    209. End If
    210. If TextBox44.Text < "0,20" ThenTextBox44.BackColor = Color.Red
    211. ElseTextBox44.BackColor = Color.LightGreen
    212. End If
    213. If TextBox43.Text < "0,20" ThenTextBox43.BackColor = Color.Red
    214. ElseTextBox43.BackColor = Color.LightGreen
    215. End If
    216. If TextBox38.Text < "0,20" ThenTextBox38.BackColor = Color.Red
    217. ElseTextBox38.BackColor = Color.LightGreen
    218. End If
    219. If TextBox37.Text < "0,20" ThenTextBox37.BackColor = Color.Red
    220. ElseTextBox37.BackColor = Color.LightGreen
    221. End If
    222. If TextBox83.Text < "0,20" ThenTextBox83.BackColor = Color.Red
    223. ElseTextBox83.BackColor = Color.LightGreen
    224. End If
    225. If TextBox82.Text < "0,20" ThenTextBox82.BackColor = Color.Red
    226. ElseTextBox82.BackColor = Color.LightGreen
    227. End If
    228. If TextBox77.Text < "0,20" ThenTextBox77.BackColor = Color.Red
    229. ElseTextBox77.BackColor = Color.LightGreen
    230. End If
    231. If TextBox76.Text < "0,20" ThenTextBox76.BackColor = Color.Red
    232. ElseTextBox76.BackColor = Color.LightGreen
    233. End If
    234. If TextBox71.Text < "0,20" ThenTextBox71.BackColor = Color.Red
    235. ElseTextBox71.BackColor = Color.LightGreen
    236. End If
    237. If TextBox70.Text < "0,20" ThenTextBox70.BackColor = Color.Red
    238. ElseTextBox70.BackColor = Color.LightGreen
    239. End If
    240. If TextBox65.Text < "0,20" ThenTextBox65.BackColor = Color.Red
    241. ElseTextBox65.BackColor = Color.LightGreen
    242. End If
    243. If TextBox64.Text < "0,20" ThenTextBox64.BackColor = Color.Red
    244. ElseTextBox64.BackColor = Color.LightGreen
    245. End If
    246. If TextBox68.Text < "0,20" ThenTextBox68.BackColor = Color.Red
    247. ElseTextBox68.BackColor = Color.LightGreen
    248. End If
    249. If TextBox67.Text < "0,20" ThenTextBox67.BackColor = Color.Red
    250. ElseTextBox67.BackColor = Color.LightGreen
    251. End If
    252. If TextBox62.Text < "0,20" ThenTextBox62.BackColor = Color.Red
    253. ElseTextBox62.BackColor = Color.LightGreen
    254. End If
    255. If TextBox61.Text < "0,20" ThenTextBox61.BackColor = Color.Red
    256. ElseTextBox61.BackColor = Color.LightGreen
    257. End If






    Vielen dank, für anregungen

    Lg P8310

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()

    P8310 schrieb:

    If TextBox61.Text < "0,20" ThenTextBox61.BackColor = Color.Red
    Du machst hier einen alphabetischen nicht aber numerischen Vergleich, weil Du noch nicht verstanden hast, mit Daten zu arbeiten.
    Zuerst konvertierst Du TextBox1 in ein Double, mit dieser Zahl kannst Du dann numerische Vergleiche anstellen:

    VB.NET-Quellcode

    1. Dim val = Double.Parse(TextBox1.Text)
    2. If val < 1.3 Then
    3. TextBox1.BackColor = Color.Red
    4. End If
    Benutze statt der TextBoxen ggf. ein NumericUpDown.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hallo blaze,


    da wird eine weiter Form geöffnet und dem benutzer visuell dargestellt ob alles i.o oder n.i.o

    siehe Anhang


    Hallo RodFromGermany,

    das ist eben mein prob. da im vba nur value angegeben wurde und damit alles ging.ich bin mit vb echt am anfang und lerne.
    was ist der vorteil einer NumericUpDown gegenüber einer TB?
    vielen dank für deine erklärung
    Bilder
    • 898.jpg

      73,22 kB, 383×575, 207 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „P8310“ ()

    Hallo,

    ich denke, das kann man wirklich mit DataBinding und einem DataSet mit DataGridView lösen. Abgesehen davon, dass es zu viele Controls sind, schau dir gleich mal "Select Case" an. Ob das hier geeignet ist, kann ich dir jetzt nicht sagen, aber du musst, wie Rod schon gesagt hat mit mehreren Datentypen arbeiten. Option Strict On ist da ganz wichtig.

    Hier ein paar Links:

    erfinderdesrades.unitweb.de/Pr…/Blogs/WarumStrictOn.html

    [VB.NET] die vier Views auf Video

    msdn.microsoft.com/de-de/libra…tagridview(v=vs.110).aspx

    [VB 2012] Daten vom DataSet in die Datenbank übernehmen (Speichern Button nicht aktiv)

    [VB.NET] die vier Views auf Video

    msdn.microsoft.com/en-us/library/ms752347(v=vs.110).aspx

    Grüße Trade
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Dir ist ja schon aufgefallen, dass du sehr viele If-Abfragen mit redundantem Code hast; sowas ist äußerst unelegant und wird vermieden. Für sowas gibt's dann eben Listen, wobei insbesondere ListBox, ComboBox, usw. und DataGridView sehr praktisch sind, da diese das direkte Binden an Daten zulassen, d.h. du übergibst die Daten tatsächlich als Daten und das verwendete Control erzeugt dir die visuelle Darstellung, ohne, dass du viel tun musst. Das ist zwar nicht unbedingt der einfachste Einstieg, aber du lernst sehr viel dabei und insbesondere, wie man es "richtig" macht.

    Gruß
    ~blaze~

    P8310 schrieb:

    NumericUpDown
    lässt nur Zahlen zu, Du kannst ihr sagen, wieviele Dezimalstellen verwendet werden sollen.
    Die Property Value ist vom Typ Decimal, den kannst Du dann (Option Strict On vorausgesetzt) elementar konvertieren:

    VB.NET-Quellcode

    1. Dim dd = CDbl(Me.NumericUpDown1.Value)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hi,

    gar nicht mal nötig. Es gibt ja noch die OpenBooks. Außerdem:
    - Erste Schritte
    - Entwickler Ressourcen
    - OpenBook
    - OpenBook VB 2012

    was ist der vorteil einer NumericUpDown gegenüber einer TB?

    Dass es keine TB ist :D Spaß beiseite. Also eine TB (TextBox) is ja dazu da um Text einzugeben. Ein NumericUpDown ist ein Steuerelement in dem rechts zwei kleine Pfeil-Knöpfe sind, um den Wert der drinsteht zu erhöhen oder vermindern. Du kannst in den Eigenschaften des Steuerelements (also der NumericUpDown, in VisualStudio auf der rechten Seite normalerweise) festlegen, was das maximum und was das Minimum ist, ob es Ganzzahl oder Kommazahl ist. Und wenn man die kleinen Pfeil-Buttons nicht benutzen mag, kann man den Wert auch per Hand eintragen. Die NumericUpDown nimmt dir so gesehen die Arbeit ab, die Eingaben zu überprüfen weil ja ohnehin nur numerische Werte zulässig sind.


    //EDIT: Noch was: für das was du da vorhast mit deinen hunderttausend Abfragen gibt es eine ganze Reihe von Möglichkeiten, das anders zu lösen. Zu sehen wie du es machst sagt mir, dass du aber noch gar nicht so weit bist, die anderen Möglichkeiten zu verwenden (z.B. AddHandler, Controls in Schleife durchgehen und Werte prüfen, DateGridView, dynamische Controls etc...). Daher denke ich würde es dir nicht mal gut tun wenn man dir jetzt fertigen Code vorsetzt, weil du ihn eh nicht verstehen würdest. Schau dir oben in meinem Posting die Links mal an und arbeite dich zuerst ein, Stück für Stück. Wenn du da halbwegs gut hinterher bist, wirst du schon in wenigen Tagen zumindest soweit sein dass du siehst, was für einen Blödsinn du da programmiert hast ;) Und nach dem ersten Erfolgserlebnis machts das Ganze dann auch gleich nochmal so viel Spaß :thumbup:


    Link :thumbup:
    Hello World

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Link275“ ()

    Hi,

    Vom Openbook wird grundsätzlich eigentlich immer abgeraten


    gut das weiß ich jetzt nicht, hab noch nie eins gelesen sondern immer "echte Bücher" gekauft :rolleyes: Aber besser als bis auf den Sommer zu warten um ein Seminar zu besuchen ist es doch allemal, oder? :)


    Link :thumbup:
    Hello World

    Daher denke ich würde es dir nicht mal gut tun wenn man dir jetzt fertigen Code vorsetzt



    so sehe ich das auch, zwar ist das Inet in der hinsicht sehr verlockend was fertige codes angeht, aber warum das so geht wie es geht lernt man dabei nicht.

    ein buch habe ich "Visual Basic 2010 Jürgen Kotz"



    okay der empfehlung hin, habe ich die Daten mit DataGridView eingelesen, eine saubere und vorallem schnelle sachen.schön

    und jetzt muss ich die überprüfung machen: eben wenn kleiner als dann rot sonst grün. kann ich im DGV die zellen einzeln ansprechen?




    Bilder
    • 111.jpg

      134,31 kB, 863×662, 136 mal angesehen
    Darf ich erfahren wie du das Dingen mit Daten befüllst?
    Das sieht für mich alles... ungeordnet... aus.
    Und es wirkt für mich so, als wenn du Daten fix ins GUI tackerst, anstelle mit den zur Verfügung gestellten Funktionen zur Datenhaltung arbeitest und somit die GUI auch als GUI verwendest.

    In der Regel ist nen Dataset bei nem Datagrid die richtige Wahl um die Daten zu halten und zu verarbeiten. Das DataGrid sollte rein zur Anzeige bzw. für Änderungen genutzt werden.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D

    P8310 schrieb:

    kann ich im DGV die zellen einzeln ansprechen?
    Schau Dir mal das Validating- und das Validated-Event vom DataGridView an.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    das sind messdaten in vorm von .xls



    VB.NET-Quellcode

    1. Dim MyConnection As System.Data.OleDb.OleDbConnection
    2. Dim DtSet As System.Data.DataSet
    3. Dim MyCommand As System.Data.OleDb.OleDbDataAdapterMyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\messung.xls';Extended Properties=Excel 8.0;")
    4. MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [Tabelle1$]", MyConnection)MyCommand.TableMappings.Add("Table", "Mesur")
    5. DtSet = New System.Data.DataSet
    6. MyCommand.Fill(DtSet)
    7. DataGridView1.DataSource = DtSet.Tables(0)
    8. MyConnection.Close()
    Nur so als Tip wie man das mit deiner vorigen GUI elegant hätte lösen könnten.

    Du hast x Textboxen, diese legst du alle auf EINEN EventHandler, in der Tag-Eigenschaft gibt du die Schwelle an die geprüft werden soll und in die Routine machst du EINE Bedingung

    VB.NET-Quellcode

    1. Private Sub TextBox_TextChange(ByVal sender As Object, ByVal e As EventArgs) Handles Textbox1.TextChange, Textbox2.TextChange, Textbox3.TextChange .... TextboxX.TextChange
    2. Dim This As Textbox = DirectCast(sender, Textbox) ' aktuelle Textbox bekommen
    3. Dim Limit As Double = Double.Parse(This.Tag) ' Schwelle aus der Tag-Eigenschaft auslesen und nach Double convertieren
    4. If Double.Parse(This.Text) < Limit Then
    5. This.BackColor = Color.Red
    6. Else
    7. This.BackColor = Color.LightGreen
    8. End If
    9. End Sub


    und schon hast du einen sauberen übersichtlichen Code. Den Handler kann man aber auch über eine Schleife und AddHandler hinzufügen, das wäre noch sauberer als alle Textboxen hinter die Sub-Routine zu schreiben.
    Hi,

    @Dodo: wie ich schon gesagt hab:
    z.B. AddHandler


    Allerdings glaub ich eben nicht dass er schon so weit ist dass er deinen Code nachvollziehen und verstehen kann. Natürlich is AddHandler hier ne tolle Lösung, schon klar ;)
    Verschenkst hier entgegen deiner Signatur einfach Fische :D

    Link :thumbup:
    Hello World