VisualBasic Ereignisse verhindern

DarkDragon

Ensign
Registriert
Apr. 2008
Beiträge
137
Mir ist zu dem Problem nicht gerade ein Guter Titel eingefallen, hoffe das macht nichts...

OK, es gehr mit um folgendes, ich habe den Code:

Code:
 If TextBox1.Text = "" Then
            ErrorProvider1.SetError(TextBox1, "Eintragsname fehlt!")
            ToolStripStatusLabel1.Text = "Eintrag in die Registry fehlgeschlagen."
            ToolStripStatusLabel1.ForeColor = Color.Red
        Else
            ErrorProvider1.SetError(TextBox1, "")

            Dim MeinKey As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
            MeinKey.SetValue(TextBox1.Text, Application.StartupPath & TextBox2.Text)
        End If

        If TextBox2.Text = "C:\" Then
            ErrorProvider2.SetError(TextBox2, "Programmpfad fehlt!")
            ToolStripStatusLabel1.Text = "Eintrag in die Registry fehlgeschlagen."
            ToolStripStatusLabel1.ForeColor = Color.Red
        Else
            ErrorProvider2.SetError(TextBox2, "")

            Dim MeinKey As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
            MeinKey.SetValue(TextBox1.Text, Application.StartupPath & TextBox2.Text)
        End If

Hier soll VB einen Eintrag in die Registry verfrachten, mein Problem ist jetzt wenn die Eine Textbox leer ist kommt der ErrorProvider, die If Funktion soll den Eintrag darauf verhindern aber das klappt irgendwie nicht. Er fügt trotzdem den Eintrag ein!???

Ich möchte also errichen das Wenn die Textbox1 leer ist der Error kommt und den Eintrag darauf verhindert.
Bei der Textbox2 möchte ich das wenn kein richtiger Pfad besteht ebenfalls ein Error kommt und den eintrag verhindert.
Hoffe ihr könnt mir helfen.
 
Hi, probiers mal so:

Code:
Select Case True
    Case Textbox1.Text = ""
        'erroprovider
    Case Textbox2.Text="C:\"
        'Erroprovider
    Case Else
        'Registry Key erstellen
End Select

Bei deinem Code würde der Key trotzdem geschrieben werden wenn Textbox1 leer ist, aber die Eingabe in Textbox2 korrekt wär.


Edit: Man sagt nicht "If Funktion", genauso wenig wie "If Schleife". "If Statement" wäre wohl das richtige Wort. Es handelt sich nämlich weder um eine Schleife noch um eine Funktion im Sinne der Programmierung.
 
Zuletzt bearbeitet:
Hi,

das weiss ich jetzt auswendig nicht. Aber die Registry Klasse sollte da die entsprechende Funktion haben.

Mit
Code:
Dim MeinKey As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)

Hast du den key ja schon geöffnet und kannst auf die Eigenschaften zugreifen. Dort ist vielleicht auch die Löschmethode zu finden.
 
Zurück
Oben