Label / Textbox Text ersetzen und Textbox Wörter blockieren.

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Vultrax.

    Label / Textbox Text ersetzen und Textbox Wörter blockieren.

    Hallo

    Meine erste Frage:
    Ich habe ein Label, dieses enthält seinen Text durch ein Registry Eintrag, mein Label heißt jetzt de_DE (Sprachen Auswahl), allerdings möchte ich, das mein Programm den Text automatisch von de_DE in "Deutsch" ändert, oder wenn en_EN steht, es in "Englisch" geändert wird. (Es können verschiedene Sprachen gewählt werden).

    Und meine zweite Frage ist:
    Wie kann ich von mir festgelegte Wörter in einer Textbox blockieren?
    Ich schreibe an einen Chat Programm, und in diesen kann man seinen Nickname über eine Textbox festlegen, allerdings soll niemand den Nickname eines Administrator verwenden können, wie mir "Vultrax".

    Ich hoffe auf eure Hilfe :D
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford
    @Vultrax: So was:

    VB.NET-Quellcode

    1. Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
    2. If TextBox1.Text.ToLower.Contains("müll") Then
    3. TextBox1.SelectionStart = TextBox1.Text.ToLower.IndexOf("müll")
    4. TextBox1.SelectionLength = 4
    5. TextBox1.SelectedText = "Gold"
    6. End If
    7. End Sub
    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!

    VB.NET-Quellcode

    1. Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
    2. If ComboBox1.Text = "DE" Then
    3. TextBox1.Text = "DEUTSCH !"
    4. Else
    5. If ComboBox1.Text = "EN" Then
    6. TextBox1.Text = "ENGLISH !"
    7. End If
    8. End If
    9. End Sub
    Ich würd das erste Problem vielleicht mit einer Hashtable lösen, abhängig davon wie viele Sprachen gewählt werden können. Wenns nur 2 sind lohnt sich das natürlich nicht. Ist meiner Meinung nach bei einer größeren Anzahl dynamischer und eleganter.

    Prinzipiell aber

    VB.NET-Quellcode

    1. Dim sprachen As New Hashtable()
    2. sprachen.Add("de_DE", "Deutsch")
    3. sprachen.Add("en_EN", "Englisch")
    4. 'dann in der entsprechenden Methode
    5. If sprachen.containsKey(Label.Text) Then
    6. Label.Text = sprachen.Item(Label.Text).Value
    7. End If