Combo-Box Erster Eintrag, Typenkonvertierung, Msg-Box mit schließen

  • VB.NET

Es gibt 46 Antworten in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    Combo-Box Erster Eintrag, Typenkonvertierung, Msg-Box mit schließen

    Hallo Leute,

    ich habe ein paar Probleme bei meinem Programmcode. Da ich jetzt nicht für jedes Problem einen extra Thread aufmachen wollte, jetzt halt alles in einem.
    Ich hoffe ihr könnt mir weiter helfen, ich bin langsam am verzweifeln. Es gibt zu allem ganz viel im Netz und in den Foren zu finden, aber ich bekomme es einfach nicht hin.

    Problem 1:
    Ich wähle aus meiner ComboBox zwischen A, B,...,G, H aus. Das ganze möchte ich dann als Dezimalzahl in die Variable S schreiben, weil ich diese Zahl dann in einer If-Abfrage benutzen möchte.

    VB.NET-Quellcode

    1. K = Me.ComboBox1.SelectedItem
    2. S = Asc(K)


    Die Konvertierung funktioniert auch, allerdings nur bis H. Wenn ich zum Beispiel K eingebe, bekomme ich eine Fehlermeldung. Ich wollte quasi mit der darauffolgenden if-Abfrage abfangen, falls der User etwas eingibt, was nicht in der Auswahl steht.


    Problem 2:
    In einer anderen ComboBox soll der User zwischen 2 Sachen auswählen -> 9600 oder 115200
    Das wird dann in der Variablen Baud gespeichert.

    VB.NET-Quellcode

    1. Baud = Me.ComboBox7.SelectedItem


    Wenn ich jetzt eine If-Abfrage mache:

    VB.NET-Quellcode

    1. If Baud <> 9600 Or Baud <> 115200 Then
    2. Ausgabe = MsgBox("Falsche Eingabe!" & vbCr & "Bitte wählen Sie aus der Liste aus!", , "Fehlerhafte Eingabe!")


    Erscheint meine Msg-Box, selbst wenn zwischen diesen zwei Werten ausgewählt wurde.


    Problem 3:
    Ich habe noch eine andere Msg-Box. Mit den Buttons OK und Abbrechen. Das OK fange ich prima ab mit:

    VB.NET-Quellcode

    1. Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    2. If e.CloseReason = CloseReason.UserClosing Or e.CloseReason = CloseReason.TaskManagerClosing Then
    3. If MsgBox("Wollen Sie die Anwendung wirklich beenden?", vbOKCancel, "Beenden") = vbOK Then
    4. Application.Exit()
    5. Else
    6. End If
    7. End If
    8. End Sub


    Aber bei der Else Anweisung weiß ich beim besten Willen nicht, was ich reinschreiben muss. Es soll sich einfach nur die MsgBox schließen und ich will wieder in meiner normalen Form landen. In VBA habe ich das mit einer Sprungmarke gemacht, was funktioniert hat. Aber a) funktioniert das in VB.net nicht und b) habe ich gelesen, dass das veraltet ist.


    Ich freue mich auf eure Antworten und hoffe das jemand meine Fehler findet.


    Vielen Dank,

    Julia
    Hi und Willkommen,

    da du von VBA kommst erstmal die Frage, möchtest du VB.NET lernen oder musst du nur einmalig was damit machen und es ist dir egal "wie" du es machst, Hauptsache es funktioniert?
    Das ist meine Signatur und sie wird wunderbar sein!
    Hey Mono,

    Ich sage mal so. VB.Net komplett zu lernen wird wohl kaum möglich sein. Ich brauche das für meine Master-Thesis und die Zeit hierfür ist leider begrenzt. Aber natürlich möchte ich nicht einfach nur Copy-Paste machen, sondern auch den Code verstehen und etwas dazu lernen.
    Ok.

    Ich würde dir empfehlen deine Controls sinnvolle Namen zu geben. Dann ist in der Programmierung (auch in VBA übrigens) der Datentyp einer Variablen wichtig.
    Welche Datentypen sind denn Baud und K?

    Woher kommen denn die Daten für ComboBox1? Hast du die Buchstaben als Collection einfach eingetragen?

    Du willst offenbar abfangen was der User "einträgt"? Du kannst doch aber in einer Combobox die Liste begrenzen auf von dir vorgewählte Daten, dann kann der User doch nix mehr "falsches" auswählen.
    Das geht im Designer über die Eigenschaft der Combobox namens DropDownStyle = DropDownList.

    Damit wäre auch dein 2. Problem egal. Aber zur Erklärung:

    VB.NET-Quellcode

    1. If Baud <> 9600 Or Baud <> 115200 Then
    2. Ausgabe = MsgBox("Falsche Eingabe!" & vbCr & "Bitte wählen Sie aus der Liste aus!", , "Fehlerhafte Eingabe!")


    Deine Abfrage ist Wenn Baud nicht 9600 ist oder Baud nicht 115200 ist, dann mach was.
    Da eine Zahl nicht zwei Zahlen gleichzeitig sein kann, wird deine Messagebox immer aufpoppen.
    Das was du wölltest wäre

    If baud < 9600 or Baud > 115200

    Also wenn der Wert kleiner 9600 oder größer 115200 ist, dann liegt er offenbar nicht dazwischen ;)

    Zu drittens musst du im else lediglich e.cancel = true reinschreiben. Damit wird das Formschließen abgebrochen.
    Das ist meine Signatur und sie wird wunderbar sein!
    Vielen, vielen Dank Mono!!!!

    jetzt bin ich schon eine ganze Ecke weiter!

    Baud ist ein Integer und K ist ein Char.
    Die ComboBoxen fülle ich mit .Items.AddRange()

    Da hatte ich aber einen mächtigen Denkfehler bei der If-Abfrage für die Variable Baud ?( :D

    Mit der DropDownList Eigenschaft ist das ja perfekt! Da kann ich mir sogar die If-Abfrage komplett sparen!

    Das mit dem e.cancel=true hatte ich schon einmal versucht, da ging es leider nicht. Auf einmal klappt es! Wer weiß was ich damals verhaspelt hatte.

    Hast du vielleicht noch eine Idee für das erste Problem? Die Typenkonvertierung?

    VB.NET-Quellcode

    1. K = Me.ComboBox1.SelectedItem
    2. S = Asc(K)


    K ist wie gesagt ein Char und S ist als Integer deklariert. Wie gesagt: die Umwandlung klappt super bei den Buchstaben A bis H aber danach nicht mehr. Theoretisch ist das jetzt auch nicht mehr notwendig, da ja nur noch von A bis H eingegeben werden kann, ich würde allerdings trotzdem sehr gerne wissen wo da das Problem bestand.

    P.S. die sinnvolle Bezeichnung kommt natürlich noch ;)
    Ich würde dir ja empfehlen

    Visual Studio - Empfohlene Einstellungen

    Das ist ganz hilfreich, denn dann kannst du einige Fehler bezüglich fehlender Typenkonvertierungen nicht mehr machen.
    Das wichtigste ist eigentlich das "Option Strict On".

    Vermutlich werden ein paar Fehler im Projekt auftauchen mit unzulässiger impliziter TypenKonvertierung.

    Ich vermute das Problem besteht im Zweifel darin, das ComboBox.SelectedItem theoretisch erstmal vom Typ Object ist und bei Eingabe auch " P" oder "test" sein kann.
    Das lässt sich nicht implizit in einen Char konvertieren.

    Wenn es im Übrigen Fehlermeldungen gibt, dann ist es auch sehr hilfreich diese zu Posten und die genaue Zeile zu schreiben, in der die Exception geworfen wird.
    Du hast ja 2 Zeilen geüpostet..
    Das ist meine Signatur und sie wird wunderbar sein!
    Alles klar ich habe jetzt die Sache mit der Typenkonvertierung raus genommen (ist ja nicht mehr notwendig) und die Einstellungen rein geschrieben.
    Kam Gott sei dank erstmal kein Fehler ;)

    Komischerweise hab ich jetzt ein anderes Problem:

    In meinen ComboBoxen erscheinen jetzt die Einträge doppelt ?(

    So sieht das aus, wenn ich die ComboBox mit Werten fülle:

    VB.NET-Quellcode

    1. With Me.ComboBox1
    2. Me.ComboBox1.Items.AddRange(New Object() {"A", "B", "C", "D", "E", "F", "G", "H"})
    3. Me.ComboBox1.SelectedIndex = 0
    4. End With
    5. With Me.ComboBox2
    6. Me.ComboBox2.Items.AddRange(New Object() {"1", "2", "3", "4", "5", "6", "7", "8"})
    7. Me.ComboBox2.SelectedIndex = 0
    8. End With


    u.s.w.

    Wenn ich die ComboBoxen öffne erscheinen nun für die erste Box die Buchstaben von A bis H und danach noch einmal die Buchstaben von A bis H.
    Eine Fehlermeldung bekomme ich nicht beim Kompilieren.

    Julia schrieb:

    danach noch einmal die Buchstaben von A bis H.
    Befüllst Du die ComboBox bereits im Designer?
    Ansonsten machst Du vorher

    VB.NET-Quellcode

    1. Me.ComboBox1.Items.Clear()
    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!
    @Julia:

    VB.NET-Quellcode

    1. With Me.ComboBox1
    2. Me.ComboBox1.Items.AddRange(New Object() {"A", "B", "C", "D", "E", "F", "G", "H"})
    3. Me.ComboBox1.SelectedIndex = 0
    4. End With

    Wozu das With, wenn Du vollqualifizierst auf die ComboBox zugreifst?

    VB.NET-Quellcode

    1. With Me.ComboBox1
    2. .Items.AddRange(New Object() {"A", "B", "C", "D", "E", "F", "G", "H"})
    3. .SelectedIndex = 0
    4. End With

    Zum anderen stellt sich die Frage, wie oft der Code aufgerufen wird. Da gibt es ja zig verschiedene Möglichkeiten rauszufinden, z.B. über Debug.Print("Debugger kommt grad vorbei.").
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Hey RodFromGermany ehm da fehlt es wohl bei mir schon an den Grundlagen...

    ich denke schon das ich die im Designer befülle...
    Ich mache meine Form und Rechtsklick auf Code Anzeigen. Das ist doch im Designer oder?

    Mit dem .Items.Clear() hat das ganze jetzt funktioniert!! Vielen Dank!!

    VaporiZed auch an dich danke! Habe meinen Code jetzt entsprechend angepasst.
    @Julia: Im Anhang die Unterscheidung zwischen ComboBoxbefüllung mittels Code und ComboBoxbefüllung mittels Designer. Der Unterschied ist grundlegend und außerdem wichtig für die Zukunft. Items.Clear funktioniert? Gut. Es wäre aber auch für die Zukunft wichtig, wenn Du rausfindest, warum die Buchstaben doppelt auftauchten. Wenn Du die ComboBoxBefüllung nicht im Designer gemacht hast, dann wurde Dein Code doppelt aufgerufen. Es wär für Dich gut zu erfahren, wodurch. Denn das Problem wird wahrscheinlich nicht nur dieses eine Mal aufgetreten sein, sondern wird sich womöglich irgendwann anders wiederholen. Wenn Du mit der bisherigen Lösung zufrieden bist, dann wären wir fertig. Wenn Du herausfinden willst, warum es vorher zu einer Buchstabenduplikation kam, wäre es gut zu erfahren, in welcher Gesamtprozedur dieser Code mit ...ComboBox.Items.Add(new ... auftauchte, also wie der Prozedurcode komplett aussieht. Damit meine ich den Teil, den man im Bild BearbeitungImCode.png sieht, der bei mir von Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click bis End Sub. Wie sieht Dein Code dafür aus?


    Bilder
    • BearbeitungImCode.png

      26,1 kB, 701×460, 83 mal angesehen
    • BearbeitungImDesigner.png

      57,97 kB, 1.440×626, 78 mal angesehen
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Julia schrieb:

    Mit dem .Items.Clear() hat das ganze jetzt funktioniert!
    Das ist allerdings suboptimal, den Inhalt 2 Mal reinzuschreiben und nach dem ersten Mal zu löschen.
    Nimm die Einträge im Designer raus und feddich.
    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!
    Guten Morgen!

    Also ich will auf jeden Fall wissen, warum das Ganze nicht geklappt hat. Dann habe ich die Boxen nicht im Designer befüllt.
    Ich poste jetzt einfach mal meinen Code hier, vielleicht habt ihr noch eine Idee wie man den verbessern kann.

    Form 1:

    VB.NET-Quellcode

    1. Private Sub Form1_Activated(sender As Object, e As EventArgs) Handles Me.Activated
    2. 'Me.Caption = "Übersichtsplan"
    3. With Me.ComboBox1
    4. .Items.Clear()
    5. .Items.AddRange(New Object() {"A", "B", "C", "D", "E", "F", "G", "H"})
    6. .SelectedIndex = 0
    7. End With
    8. With Me.ComboBox2
    9. .Items.Clear()
    10. .Items.AddRange(New Object() {"1", "2", "3", "4", "5", "6", "7", "8"})
    11. .SelectedIndex = 0
    12. End With
    13. With Me.ComboBox3
    14. .Items.Clear()
    15. .Items.AddRange(New Object() {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"})
    16. .SelectedIndex = 0
    17. End With
    18. With Me.ComboBox4
    19. .Items.Clear()
    20. .Items.AddRange(New Object() {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"})
    21. .SelectedIndex = 0
    22. End With
    23. With Me.ComboBox5
    24. .Items.Clear()
    25. .Items.AddRange(New Object() {"1", "2", "3", "4"})
    26. .SelectedIndex = 0
    27. End With
    28. With Me.ComboBox6
    29. .Items.Clear()
    30. .Items.AddRange(New Object() {"1", "2", "3", "4", "5", "6", "7", "8"})
    31. .SelectedIndex = 0
    32. End With
    33. With Me.ComboBox7
    34. .Items.Clear()
    35. .Items.AddRange(New Object() {"9600", "115200"})
    36. .SelectedIndex = 0
    37. End With
    38. End Sub


    Und Form2:

    VB.NET-Quellcode

    1. Private Sub Form2_Activated(sender As Object, e As EventArgs) Handles Me.Activated
    2. Form1.Hide()
    3. If Form1.Fahrzeuge = 1 Then
    4. Me.TextBox2.Visible = False
    5. Me.TextBox3.Visible = False
    6. Me.TextBox4.Visible = False
    7. Me.ComboBox3.Visible = False
    8. Me.ComboBox4.Visible = False
    9. Me.ComboBox5.Visible = False
    10. Me.ComboBox6.Visible = False
    11. Me.ComboBox7.Visible = False
    12. Me.ComboBox8.Visible = False
    13. End If
    14. If Form1.Fahrzeuge = 2 Then
    15. Me.TextBox3.Visible = False
    16. Me.ComboBox5.Visible = False
    17. Me.ComboBox6.Visible = False
    18. Me.TextBox4.Visible = False
    19. Me.ComboBox7.Visible = False
    20. Me.ComboBox8.Visible = False
    21. End If
    22. If Form1.Fahrzeuge = 3 Then
    23. Me.TextBox4.Visible = False
    24. Me.ComboBox7.Visible = False
    25. Me.ComboBox8.Visible = False
    26. End If
    27. With Me.ComboBox1
    28. .Items.Clear()
    29. .Items.AddRange(New Object() {"12", "24", "48", "80"})
    30. .SelectedIndex = 0
    31. End With
    32. With Me.ComboBox2
    33. .Items.Clear()
    34. .Items.AddRange(New Object() {"Blei-Säure", "Blei-Gel", "Lithium-Ionen"})
    35. .SelectedIndex = 0
    36. End With
    37. With Me.ComboBox3
    38. .Items.Clear()
    39. .Items.AddRange(New Object() {"12", "24", "48", "80"})
    40. .SelectedIndex = 0
    41. End With
    42. With Me.ComboBox4
    43. .Items.Clear()
    44. .Items.AddRange(New Object() {"Blei-Säure", "Blei-Gel", "Lithium-Ionen"})
    45. .SelectedIndex = 0
    46. End With
    47. With Me.ComboBox5
    48. .Items.Clear()
    49. .Items.AddRange(New Object() {"12", "24", "48", "80"})
    50. .SelectedIndex = 0
    51. End With
    52. With Me.ComboBox6
    53. .Items.Clear()
    54. .Items.AddRange(New Object() {"Blei-Säure", "Blei-Gel", "Lithium-Ionen"})
    55. .SelectedIndex = 0
    56. End With
    57. With Me.ComboBox7
    58. .Items.Clear()
    59. .Items.AddRange(New Object() {"12", "24", "48", "80"})
    60. .SelectedIndex = 0
    61. End With
    62. With Me.ComboBox8
    63. .Items.Clear()
    64. .Items.AddRange(New Object() {"Blei-Säure", "Blei-Gel", "Lithium-Ionen"})
    65. .SelectedIndex = 0
    66. End With
    67. End Sub
    68. Private Sub Form2_FormClosing(ByVal sender As Object, ByVal e As
    69. System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    70. If e.CloseReason = CloseReason.UserClosing Or e.CloseReason = CloseReason.TaskManagerClosing Then
    71. If MsgBox("Wollen Sie die Anwendung wirklich beenden?", vbOKCancel, "Beenden") = vbOK Then
    72. Application.Exit()
    73. Else
    74. e.Cancel = True
    75. End If
    76. End If
    77. End Sub


    Ich hoffe ihr könnt mir weiter helfen!
    Oh ja. Problem gefunden: Private Sub Form1_Activated(sender As Object, e As EventArgs) Handles Me.Activated
    Einmal Mauszeiger über Me.Activated und dann sagt es Visual Studio bzw. IntelliSense schon. Diese Prozedur wird immer dann aufgerufen, wenn die Form den Focus bekommt. Also z.B. wenn Du Dein Prog laufen hast, dann mal kurz zum FireFox rüberwechselst und dann wieder in Dein Programm zurückgehst. Dann wird die Form aktiviert und es werden wieder die ComboBoxen befüllt. Der ganze Code muss in eine andere Prozedur, z.B. Form1_Shown (oder eben ein, die mit Handles Me.Shown versehen ist).

    btw: Sollten die ganzen Werte fest bleiben, also wohl auch in Zukunft nicht dauernd was geändert werden, wär es m.E. besser, die ganzen ComboBox-Werte im Designer zu hinterlegen und so den Dir zugänglichen Code zu entschlanken.

    noch was: Mit welchem Code rufst Du Form2 auf? Ich vermute mal, dass dort gleich RodFromGermany anschlagen wird. Denn [tt]If Form1.Fahrzeuge = ...[tt] ist ein Symptom für einige Verbesserungsmöglichkeiten:
    1. Statt dauernd nach If ... = 1, If ... = 2 zu fragen: nimm ein Select Case Form1.Fahrzeuge
    2. Form1.Fahrzeuge widerspricht sehr wahrscheinlich Objektorientierung. Form2 sollte von Form1 keine Variablen manipulieren dürfen. Falls Fahrzeuge eine Variable ist. OK, eine Property statt einer Variablen würde akzeptabel sein, ist m.E. auch nicht besser, aber wurscht.
    3. "Form1.Fahrzeuge = " aus Form2 aufzurufen kann insofern mal problematisch werden, wenn das Thema ausgebaut wird. Bei komplexeren Systemen wirst Du ggf. mal andere Werte rauskriegen als erwartet, weil Du vielleicht mal (ohne Dein Wissen versehentlich) mehrere Instanzen von Form1 zur Laufzeit hast (Form1 ist eine Klasse, keine Klasseninstanz) und dann (ebenfalls ohne Dein Wissen) auf die falsche Instanz zugreifst.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

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

    Danke VaporiZed...

    aber nun wieder ein anderes Problem. Vielleicht habe ich die Syntax falsch geschrieben?

    Im Internet habe ich gefunden:

    VB.NET-Quellcode

    1. Private Sub Form1_Shown(sender as Object, e as EventArgs) Handles Form1.Shown


    Wenn ich das so eingebe bekomme ich folgende Fehlermeldung:
    "Die Handles-Klausel erfordert eine WithEvents-Variable, die im enthaltenden Typ oder einem seiner Basistypen definiert ist."

    Nehme ich das Handles Form1.Shown raus funktioniert auf einmal die .SelectIndex = 0 Abhandlung nicht mehr und meine Msg Box wird nicht mehr richtig ausgegeben. ?(

    VB.NET-Quellcode

    1. Public Sub Weiter_Click(sender As Object, e As EventArgs) Handles Weiter.Click
    2. Dim LadStat_y As Integer
    3. Dim Länge As Integer
    4. Dim Breite As Integer
    5. Dim LadStat_x As Char
    6. Dim COM As Integer
    7. Dim Baud As Integer
    8. Dim Ausgabe As Integer
    9. LadStat_x = Me.ComboBox1.SelectedItem
    10. LadStat_y = Me.ComboBox2.SelectedItem
    11. Länge = Me.ComboBox3.SelectedItem
    12. Breite = Me.ComboBox4.SelectedItem
    13. Fahrzeuge = Me.ComboBox5.SelectedItem
    14. COM = Me.ComboBox6.SelectedItem
    15. Baud = Me.ComboBox7.SelectedItem
    16. Ausgabe = MsgBox("Einstellungen ok?" & vbCr & vbCr & "Ladestation: " & LadStat_x & LadStat_y & _
    17. vbCr & "Länge: " & Länge & vbCr & "Breite: " & Breite & vbCr & "Fahrzeuge: " & Fahrzeuge & vbCr & _
    18. "COM-Port: " & COM & vbCr & "Baudrate: " & Baud, vbOKCancel, "Einstellungen")
    19. If Ausgabe = 1 Then
    20. Form2.ShowDialog()
    21. Else
    22. Exit Sub
    23. End If
    24. End Sub

    Julia schrieb:

    Handles Form1.Shown


    VaporiZed schrieb:

    Handles Me.Shown


    Ein kleiner, aber gravierender funktioneller Unterschied.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Hupps,...Danke! Geändert...

    Jetzt stehen die Werte wieder doppelt drin. Ich werd noch verrückt.
    Habe nochmal überprüft: im Designer sind keine Werte eingetragen.

    Hier nochmal der Code.

    VB.NET-Quellcode

    1. Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown
    2. 'Me.Caption = "Übersichtsplan"
    3. With Me.ComboBox1
    4. '.Items.Clear()
    5. .Items.AddRange(New Object() {"A", "B", "C", "D", "E", "F", "G", "H"})
    6. .SelectedIndex = 0
    7. End With
    8. With Me.ComboBox2
    9. '.Items.Clear()
    10. .Items.AddRange(New Object() {"1", "2", "3", "4", "5", "6", "7", "8"})
    11. .SelectedIndex = 0
    12. End With
    13. With Me.ComboBox3
    14. '.Items.Clear()
    15. .Items.AddRange(New Object() {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"})
    16. .SelectedIndex = 0
    17. End With
    18. With Me.ComboBox4
    19. '.Items.Clear()
    20. .Items.AddRange(New Object() {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"})
    21. .SelectedIndex = 0
    22. End With
    23. With Me.ComboBox5
    24. '.Items.Clear()
    25. .Items.AddRange(New Object() {"1", "2", "3", "4"})
    26. .SelectedIndex = 0
    27. End With
    28. With Me.ComboBox6
    29. '.Items.Clear()
    30. .Items.AddRange(New Object() {"1", "2", "3", "4", "5", "6", "7", "8"})
    31. .SelectedIndex = 0
    32. End With
    33. With Me.ComboBox7
    34. '.Items.Clear()
    35. .Items.AddRange(New Object() {"9600", "115200"})
    36. .SelectedIndex = 0
    37. End With
    38. End Sub






    Edit: Jetzt hab ich nochmal nachgesehen: Die werte standen jetzt im designer wieder drin. Habe sie jetzt raus gelöscht und es geht. Muss ich also die Items löschen, sobald ich die Form schließe? Komischerweise habe ich das Problem nur bei Form1 bei Form2 funktioniert es ohne Probleme.
    Werte, die im Designer eingetragen sind, sind Startwerte. Die kannst Du m.E. nur mit fiesen Kniffen so ändern, dass sie nach Programmende im Designer verändert bleiben. Von diesen Kniffen wollen wir gar nicht erst anfangen, aber solch einen Spezialcode schreibt man ohne Absicht nicht mal eben so nebenbei zufällig ins Programm. Daher musst Du diese Werte auch nicht nach Verlassen der Form oder des Programms irgendwo aus dem Designer rauslöschen.
    Von daher kann es durchaus am Code liegen, den ich zwar schon angefragt, aber leider noch nicht gesehen hab: Wie wechselst Du von Form1 auf Form2 und wieder zurück?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Julia schrieb:

    VB.NET-Quellcode

    1. Form1.Hide()
    Das ist ebenfalls ein NoGo, Gugst Du hier.
    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!
    Okay VaporiZed dann den ganzen Code:

    Vielleicht hast du ja auch noch eine Idee wie ich den Code etwas "verkleinern" könnte.

    Form 1

    VB.NET-Quellcode

    1. Option Explicit On
    2. Option Strict Off
    3. Imports Microsoft.VisualBasic
    4. Public Class Form1
    5. Public Shared Fahrzeuge As Integer
    6. Public Sub Weiter_Click(sender As Object, e As EventArgs) Handles Weiter.Click
    7. Dim LadStat_y As Integer
    8. Dim Länge As Integer
    9. Dim Breite As Integer
    10. Dim LadStat_x As Char
    11. Dim COM As Integer
    12. Dim Baud As Integer
    13. Dim Ausgabe As Integer
    14. LadStat_x = Me.ComboBox1.SelectedItem
    15. LadStat_y = Me.ComboBox2.SelectedItem
    16. Länge = Me.ComboBox3.SelectedItem
    17. Breite = Me.ComboBox4.SelectedItem
    18. Fahrzeuge = Me.ComboBox5.SelectedItem
    19. COM = Me.ComboBox6.SelectedItem
    20. Baud = Me.ComboBox7.SelectedItem
    21. Ausgabe = MsgBox("Einstellungen ok?" & vbCr & vbCr & "Ladestation: " & LadStat_x & LadStat_y & _
    22. vbCr & "Länge: " & Länge & vbCr & "Breite: " & Breite & vbCr & "Fahrzeuge: " & Fahrzeuge & vbCr & _
    23. "COM-Port: " & COM & vbCr & "Baudrate: " & Baud, vbOKCancel, "Einstellungen")
    24. If Ausgabe = 1 Then
    25. Form2.ShowDialog()
    26. Else
    27. Exit Sub
    28. End If
    29. End Sub
    30. Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    31. If e.CloseReason = CloseReason.UserClosing Or e.CloseReason = CloseReason.TaskManagerClosing Then
    32. If MsgBox("Wollen Sie die Anwendung wirklich beenden?", vbOKCancel, "Beenden") = vbOK Then
    33. Application.Exit()
    34. Else
    35. e.Cancel = True
    36. End If
    37. End If
    38. End Sub
    39. Private Sub Änderung(lbl As Control)
    40. With Me.Controls(lbl.Name)
    41. .BackColor = IIf(.BackColor = Color.ForestGreen, SystemColors.ActiveBorder, Color.ForestGreen)
    42. End With
    43. End Sub
    44. Private Sub A1_Click(sender As Object, e As EventArgs) Handles A1.Click
    45. Änderung(A1)
    46. 'FA1 = 1
    47. End Sub
    48. Private Sub A2_Click(sender As Object, e As EventArgs) Handles A2.Click
    49. Änderung(A2)
    50. 'FA2 = 1
    51. End Sub
    52. Private Sub A3_Click(sender As Object, e As EventArgs) Handles A3.Click
    53. Änderung(A3)
    54. 'FA3 = 1
    55. End Sub
    56. Private Sub A4_Click(sender As Object, e As EventArgs) Handles A4.Click
    57. Änderung(A4)
    58. 'FA4 = 1
    59. End Sub
    60. Private Sub A5_Click(sender As Object, e As EventArgs) Handles A5.Click
    61. Änderung(A5)
    62. 'FA5 = 1
    63. End Sub
    64. Private Sub A6_Click(sender As Object, e As EventArgs) Handles A6.Click
    65. Änderung(A6)
    66. 'FA6 = 1
    67. End Sub
    68. Private Sub A7_Click(sender As Object, e As EventArgs) Handles A7.Click
    69. Änderung(A7)
    70. 'FA7 = 1
    71. End Sub
    72. Private Sub A8_Click(sender As Object, e As EventArgs) Handles A8.Click
    73. Änderung(A8)
    74. 'FA8 = 1
    75. End Sub
    76. Private Sub B1_Click(sender As Object, e As EventArgs) Handles B1.Click
    77. Änderung(B1)
    78. 'FB1 = 1
    79. End Sub
    80. Private Sub B2_Click(sender As Object, e As EventArgs) Handles B2.Click
    81. Änderung(B2)
    82. 'FB2 = 1
    83. End Sub
    84. Private Sub B3_Click(sender As Object, e As EventArgs) Handles B3.Click
    85. Änderung(B3)
    86. 'FB3 = 1
    87. End Sub
    88. Private Sub B4_Click(sender As Object, e As EventArgs) Handles B4.Click
    89. Änderung(B4)
    90. 'FB4 = 1
    91. End Sub
    92. Private Sub B5_Click(sender As Object, e As EventArgs) Handles B5.Click
    93. Änderung(B5)
    94. 'FB5 = 1
    95. End Sub
    96. Private Sub B6_Click(sender As Object, e As EventArgs) Handles B6.Click
    97. Änderung(B6)
    98. 'FB6 = 1
    99. End Sub
    100. Private Sub B7_Click(sender As Object, e As EventArgs) Handles B7.Click
    101. Änderung(B7)
    102. 'FB7 = 1
    103. End Sub
    104. Private Sub B8_Click(sender As Object, e As EventArgs) Handles B8.Click
    105. Änderung(B8)
    106. 'FB8 = 1
    107. End Sub
    108. Private Sub C1_Click(sender As Object, e As EventArgs) Handles C1.Click
    109. Änderung(C1)
    110. 'FC1 = 1
    111. End Sub
    112. Private Sub C2_Click(sender As Object, e As EventArgs) Handles C2.Click
    113. Änderung(C2)
    114. 'FC2 = 1
    115. End Sub
    116. Private Sub C3_Click(sender As Object, e As EventArgs) Handles C3.Click
    117. Änderung(C3)
    118. 'FC3 = 1
    119. End Sub
    120. Private Sub C4_Click(sender As Object, e As EventArgs) Handles C4.Click
    121. Änderung(C4)
    122. 'FC4 = 1
    123. End Sub
    124. Private Sub C5_Click(sender As Object, e As EventArgs) Handles C5.Click
    125. Änderung(C5)
    126. 'FC5 = 1
    127. End Sub
    128. Private Sub C6_Click(sender As Object, e As EventArgs) Handles C6.Click
    129. Änderung(C6)
    130. 'FC6 = 1
    131. End Sub
    132. Private Sub C7_Click(sender As Object, e As EventArgs) Handles C7.Click
    133. Änderung(C7)
    134. 'FC7 = 1
    135. End Sub
    136. Private Sub C8_Click(sender As Object, e As EventArgs) Handles C8.Click
    137. Änderung(C8)
    138. 'FC8 = 1
    139. End Sub
    140. Private Sub D1_Click(sender As Object, e As EventArgs) Handles D1.Click
    141. Änderung(D1)
    142. 'FC1 = 1
    143. End Sub
    144. Private Sub D2_Click(sender As Object, e As EventArgs) Handles D2.Click
    145. Änderung(D2)
    146. 'FD2 = 1
    147. End Sub
    148. Private Sub D3_Click(sender As Object, e As EventArgs) Handles D3.Click
    149. Änderung(D3)
    150. 'FD3 = 1
    151. End Sub
    152. Private Sub D4_Click(sender As Object, e As EventArgs) Handles D4.Click
    153. Änderung(D4)
    154. 'FD4 = 1
    155. End Sub
    156. Private Sub D5_Click(sender As Object, e As EventArgs) Handles D5.Click
    157. Änderung(D5)
    158. 'FD5 = 1
    159. End Sub
    160. Private Sub D6_Click(sender As Object, e As EventArgs) Handles D6.Click
    161. Änderung(D6)
    162. 'FD6 = 1
    163. End Sub
    164. Private Sub D7_Click(sender As Object, e As EventArgs) Handles D7.Click
    165. Änderung(D7)
    166. 'FD7 = 1
    167. End Sub
    168. Private Sub D8_Click(sender As Object, e As EventArgs) Handles D8.Click
    169. Änderung(D8)
    170. 'FD8 = 1
    171. End Sub
    172. Private Sub E1_Click(sender As Object, e As EventArgs) Handles E1.Click
    173. Änderung(E1)
    174. 'FE1 = 1
    175. End Sub
    176. Private Sub E2_Click(sender As Object, e As EventArgs) Handles E2.Click
    177. Änderung(E2)
    178. 'FE2 = 1
    179. End Sub
    180. Private Sub E3_Click(sender As Object, e As EventArgs) Handles E3.Click
    181. Änderung(E3)
    182. 'FE3 = 1
    183. End Sub
    184. Private Sub E4_Click(sender As Object, e As EventArgs) Handles E4.Click
    185. Änderung(E4)
    186. 'FE4 = 1
    187. End Sub
    188. Private Sub E5_Click(sender As Object, e As EventArgs) Handles E5.Click
    189. Änderung(E5)
    190. 'FE5 = 1
    191. End Sub
    192. Private Sub E6_Click(sender As Object, e As EventArgs) Handles E6.Click
    193. Änderung(E6)
    194. 'FE6 = 1
    195. End Sub
    196. Private Sub E7_Click(sender As Object, e As EventArgs) Handles E7.Click
    197. Änderung(E7)
    198. 'FE7 = 1
    199. End Sub
    200. Private Sub E8_Click(sender As Object, e As EventArgs) Handles E8.Click
    201. Änderung(E8)
    202. 'FE8 = 1
    203. End Sub
    204. Private Sub F1_Click(sender As Object, e As EventArgs) Handles F1.Click
    205. Änderung(F1)
    206. 'FF1 = 1
    207. End Sub
    208. Private Sub F2_Click(sender As Object, e As EventArgs) Handles F2.Click
    209. Änderung(F2)
    210. 'FF2 = 1
    211. End Sub
    212. Private Sub F3_Click(sender As Object, e As EventArgs) Handles F3.Click
    213. Änderung(F3)
    214. 'FF3 = 1
    215. End Sub
    216. Private Sub F4_Click(sender As Object, e As EventArgs) Handles F4.Click
    217. Änderung(F4)
    218. 'FF4 = 1
    219. End Sub
    220. Private Sub F5_Click(sender As Object, e As EventArgs) Handles F5.Click
    221. Änderung(F5)
    222. 'FF5 = 1
    223. End Sub
    224. Private Sub F6_Click(sender As Object, e As EventArgs) Handles F6.Click
    225. Änderung(F6)
    226. 'FF6 = 1
    227. End Sub
    228. Private Sub F7_Click(sender As Object, e As EventArgs) Handles F7.Click
    229. Änderung(F7)
    230. 'FF7 = 1
    231. End Sub
    232. Private Sub F8_Click(sender As Object, e As EventArgs) Handles F8.Click
    233. Änderung(F8)
    234. 'FF8 = 1
    235. End Sub
    236. Private Sub G1_Click(sender As Object, e As EventArgs) Handles G1.Click
    237. Änderung(G1)
    238. 'FG1 = 1
    239. End Sub
    240. Private Sub G2_Click(sender As Object, e As EventArgs) Handles G2.Click
    241. Änderung(G2)
    242. 'FG2 = 1
    243. End Sub
    244. Private Sub G3_Click(sender As Object, e As EventArgs) Handles G3.Click
    245. Änderung(G3)
    246. 'FG3 = 1
    247. End Sub
    248. Private Sub G4_Click(sender As Object, e As EventArgs) Handles G4.Click
    249. Änderung(G4)
    250. 'FG4 = 1
    251. End Sub
    252. Private Sub G5_Click(sender As Object, e As EventArgs) Handles G5.Click
    253. Änderung(G5)
    254. 'FG5 = 1
    255. End Sub
    256. Private Sub G6_Click(sender As Object, e As EventArgs) Handles G6.Click
    257. Änderung(G6)
    258. 'FG6 = 1
    259. End Sub
    260. Private Sub G7_Click(sender As Object, e As EventArgs) Handles G7.Click
    261. Änderung(G7)
    262. 'FG7 = 1
    263. End Sub
    264. Private Sub G8_Click(sender As Object, e As EventArgs) Handles G8.Click
    265. Änderung(G8)
    266. 'FG8 = 1
    267. End Sub
    268. Private Sub H1_Click(sender As Object, e As EventArgs) Handles H1.Click
    269. Änderung(H1)
    270. 'FH1 = 1
    271. End Sub
    272. Private Sub H2_Click(sender As Object, e As EventArgs) Handles H2.Click
    273. Änderung(H2)
    274. 'FH2 = 1
    275. End Sub
    276. Private Sub H3_Click(sender As Object, e As EventArgs) Handles H3.Click
    277. Änderung(H3)
    278. 'FH3 = 1
    279. End Sub
    280. Private Sub H4_Click(sender As Object, e As EventArgs) Handles H4.Click
    281. Änderung(H4)
    282. 'FH4 = 1
    283. End Sub
    284. Private Sub H5_Click(sender As Object, e As EventArgs) Handles H5.Click
    285. Änderung(H5)
    286. 'FH5 = 1
    287. End Sub
    288. Private Sub H6_Click(sender As Object, e As EventArgs) Handles H6.Click
    289. Änderung(H6)
    290. 'FH6 = 1
    291. End Sub
    292. Private Sub H7_Click(sender As Object, e As EventArgs) Handles H7.Click
    293. Änderung(H7)
    294. 'FH7 = 1
    295. End Sub
    296. Private Sub H8_Click(sender As Object, e As EventArgs) Handles H8.Click
    297. Änderung(H8)
    298. 'FH8 = 1
    299. End Sub
    300. Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown
    301. Me.Text = "Allgemeine Einstellungen"
    302. With Me.ComboBox1
    303. '.Items.Clear()
    304. .Items.AddRange(New Object() {"A", "B", "C", "D", "E", "F", "G", "H"})
    305. .SelectedIndex = 0
    306. End With
    307. With Me.ComboBox2
    308. '.Items.Clear()
    309. .Items.AddRange(New Object() {"1", "2", "3", "4", "5", "6", "7", "8"})
    310. .SelectedIndex = 0
    311. End With
    312. With Me.ComboBox3
    313. '.Items.Clear()
    314. .Items.AddRange(New Object() {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"})
    315. .SelectedIndex = 0
    316. End With
    317. With Me.ComboBox4
    318. '.Items.Clear()
    319. .Items.AddRange(New Object() {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"})
    320. .SelectedIndex = 0
    321. End With
    322. With Me.ComboBox5
    323. '.Items.Clear()
    324. .Items.AddRange(New Object() {"1", "2", "3", "4"})
    325. .SelectedIndex = 0
    326. End With
    327. With Me.ComboBox6
    328. '.Items.Clear()
    329. .Items.AddRange(New Object() {"1", "2", "3", "4", "5", "6", "7", "8"})
    330. .SelectedIndex = 0
    331. End With
    332. With Me.ComboBox7
    333. '.Items.Clear()
    334. .Items.AddRange(New Object() {"9600", "115200"})
    335. .SelectedIndex = 0
    336. End With
    337. End Sub
    338. End Class


    und Form2:

    VB.NET-Quellcode

    1. Option Explicit On
    2. Option Strict Off
    3. Imports Microsoft.VisualBasic
    4. Public Class Form2
    5. Private Sub Form2_Shown(sender As Object, e As EventArgs) Handles Me.Shown
    6. Form1.Hide()
    7. Me.Text = "Fahrzeug-Parameter"
    8. Select Case Form1.Fahrzeuge
    9. Case Is = 1
    10. Me.TextBox2.Visible = False
    11. Me.TextBox3.Visible = False
    12. Me.TextBox4.Visible = False
    13. Me.ComboBox3.Visible = False
    14. Me.ComboBox4.Visible = False
    15. Me.ComboBox5.Visible = False
    16. Me.ComboBox6.Visible = False
    17. Me.ComboBox7.Visible = False
    18. Me.ComboBox8.Visible = False
    19. Case Is = 2
    20. Me.TextBox3.Visible = False
    21. Me.ComboBox5.Visible = False
    22. Me.ComboBox6.Visible = False
    23. Me.TextBox4.Visible = False
    24. Me.ComboBox7.Visible = False
    25. Me.ComboBox8.Visible = False
    26. Case Else
    27. Me.TextBox4.Visible = False
    28. Me.ComboBox7.Visible = False
    29. Me.ComboBox8.Visible = False
    30. End Select
    31. With Me.ComboBox1
    32. '.Items.Clear()
    33. .Items.AddRange(New Object() {"12", "24", "48", "80"})
    34. .SelectedIndex = 0
    35. End With
    36. With Me.ComboBox2
    37. '.Items.Clear()
    38. .Items.AddRange(New Object() {"Blei-Säure", "Blei-Gel", "Lithium-Ionen"})
    39. .SelectedIndex = 0
    40. End With
    41. With Me.ComboBox3
    42. '.Items.Clear()
    43. .Items.AddRange(New Object() {"12", "24", "48", "80"})
    44. .SelectedIndex = 0
    45. End With
    46. With Me.ComboBox4
    47. '.Items.Clear()
    48. .Items.AddRange(New Object() {"Blei-Säure", "Blei-Gel", "Lithium-Ionen"})
    49. .SelectedIndex = 0
    50. End With
    51. With Me.ComboBox5
    52. '.Items.Clear()
    53. .Items.AddRange(New Object() {"12", "24", "48", "80"})
    54. .SelectedIndex = 0
    55. End With
    56. With Me.ComboBox6
    57. '.Items.Clear()
    58. .Items.AddRange(New Object() {"Blei-Säure", "Blei-Gel", "Lithium-Ionen"})
    59. .SelectedIndex = 0
    60. End With
    61. With Me.ComboBox7
    62. '.Items.Clear()
    63. .Items.AddRange(New Object() {"12", "24", "48", "80"})
    64. .SelectedIndex = 0
    65. End With
    66. With Me.ComboBox8
    67. '.Items.Clear()
    68. .Items.AddRange(New Object() {"Blei-Säure", "Blei-Gel", "Lithium-Ionen"})
    69. .SelectedIndex = 0
    70. End With
    71. End Sub
    72. Private Sub Form2_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    73. If e.CloseReason = CloseReason.UserClosing Or e.CloseReason = CloseReason.TaskManagerClosing Then
    74. If MsgBox("Wollen Sie die Anwendung wirklich beenden?", vbOKCancel, "Beenden") = vbOK Then
    75. Application.Exit()
    76. Else
    77. e.Cancel = True
    78. End If
    79. End If
    80. End Sub
    81. Public Sub Weiter_Click(sender As Object, e As EventArgs) Handles Weiter.Click
    82. Dim Gewicht_1 As String
    83. Dim U_Nenn_1 As Integer
    84. Dim Akku_1 As String
    85. Dim Gewicht_2 As String
    86. Dim U_Nenn_2 As Integer
    87. Dim Akku_2 As String
    88. Dim Gewicht_3 As String
    89. Dim U_Nenn_3 As Integer
    90. Dim Akku_3 As String
    91. Dim Gewicht_4 As String
    92. Dim Akku_4 As String
    93. Dim U_Nenn_4 As String
    94. Dim Ausgabe As Integer
    95. U_Nenn_1 = Me.ComboBox1.SelectedItem
    96. Akku_1 = Me.ComboBox2.SelectedItem
    97. U_Nenn_2 = Me.ComboBox3.SelectedItem
    98. Akku_2 = Me.ComboBox4.SelectedItem
    99. U_Nenn_3 = Me.ComboBox5.SelectedItem
    100. Akku_3 = Me.ComboBox6.SelectedItem
    101. U_Nenn_4 = Me.ComboBox7.SelectedItem
    102. Akku_4 = Me.ComboBox8.SelectedItem
    103. Gewicht_1 = Me.TextBox1.Text
    104. Gewicht_2 = Me.TextBox2.Text
    105. Gewicht_3 = Me.TextBox3.Text
    106. Gewicht_4 = Me.TextBox4.Text
    107. Select Case Form1.Fahrzeuge
    108. Case Is = 1
    109. Ausgabe = MsgBox("Einstellungen ok?" & vbCr & vbCr & "Fahrzeug 1: " & vbCr & "Gewicht:" & Gewicht_1 & _
    110. vbCr & "Nennspannung Akku: " & U_Nenn_1 & vbCr & "Akku-Typ: " & Akku_1 & vbCr, vbOKCancel, "Einstellungen")
    111. Case Is = 2
    112. Ausgabe = MsgBox("Einstellungen ok?" & vbCr & vbCr & "Fahrzeug 1: " & vbCr & "Gewicht:" & Gewicht_1 & _
    113. vbCr & "Nennspannung Akku: " & U_Nenn_1 & vbCr & "Akku-Typ: " & Akku_1 & vbCr & vbCr & "Fahrzeug 2: " & vbCr & "Gewicht:" & Gewicht_2 & _
    114. vbCr & "Nennspannung Akku: " & U_Nenn_2 & vbCr & "Akku-Typ: " & Akku_2 & vbCr, vbOKCancel, "Einstellungen")
    115. Case Is = 3
    116. Ausgabe = MsgBox("Einstellungen ok?" & vbCr & vbCr & "Fahrzeug 1: " & vbCr & "Gewicht:" & Gewicht_1 & _
    117. vbCr & "Nennspannung Akku: " & U_Nenn_1 & vbCr & "Akku-Typ: " & Akku_1 & vbCr & vbCr & "Fahrzeug 2: " & vbCr & "Gewicht:" & Gewicht_2 & _
    118. vbCr & "Nennspannung Akku: " & U_Nenn_2 & vbCr & "Akku-Typ: " & Akku_2 & vbCr & vbCr & "Fahrzeug 3: " & vbCr & "Gewicht:" & Gewicht_3 & _
    119. vbCr & "Nennspannung Akku: " & U_Nenn_3 & vbCr & "Akku-Typ: " & Akku_3 & vbCr, vbOKCancel, "Einstellungen")
    120. Case Else
    121. Ausgabe = MsgBox("Einstellungen ok?" & vbCr & vbCr & "Fahrzeug 1: " & vbCr & "Gewicht:" & Gewicht_1 & _
    122. vbCr & "Nennspannung Akku: " & U_Nenn_1 & vbCr & "Akku-Typ: " & Akku_1 & vbCr & vbCr & "Fahrzeug 2: " & vbCr & "Gewicht:" & Gewicht_2 & _
    123. vbCr & "Nennspannung Akku: " & U_Nenn_2 & vbCr & "Akku-Typ: " & Akku_2 & vbCr & vbCr & "Fahrzeug 3: " & vbCr & "Gewicht:" & Gewicht_3 & _
    124. vbCr & "Nennspannung Akku: " & U_Nenn_3 & vbCr & "Akku-Typ: " & Akku_3 & vbCr & vbCr & "Fahrzeug 4: " & vbCr & "Gewicht:" & Gewicht_4 & _
    125. vbCr & "Nennspannung Akku: " & U_Nenn_4 & vbCr & "Akku-Typ: " & Akku_4, vbOKCancel, "Einstellungen")
    126. End Select
    127. If Ausgabe = 1 Then
    128. 'Form3.ShowDialog()
    129. Else
    130. Exit Sub
    131. End If
    132. End Sub
    133. End Class


    Die Forms wechsel ich indem ich Form 2 öffne und sobald Form2 geöffnet ist Form1 geschlossen wird.




    @RodFromGermany
    Ich finde da jetzt das FormClosing Event? Das schreib ich in Form 1. Dann geht meine Form2 auf aber meine Form1 nicht zu.


    .... ja klar wegen der if-Abfrage müsste das so sein, oder? ?(

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