Ich versuche eine Nachricht in textBox2 anzuzeigen, wenn in textBox1 die erste Zeile mit "-" beginnt. Nun funktioniert es, aber wenn ich "-Hello" oder etwas anderes, die mit "-" Programm beginnt eingeben, fügen Sie alle Zeit Nachricht "Bitte verwenden Sie keine anderen Zeichen". Gibt es eine Möglichkeit, es einmal zu senden?C# textBox Nachricht
Antwort
ich nehme an, Sie verwenden textBox2
anzuzeigen mehrere Nachrichten (also verwenden Sie =+
anstelle von =
), aber Sie möchten die gleiche Nachricht nicht zweimal anzeigen, wenn der Benutzer noch tippt.
Wenn das der Fall ist, können Sie eine dieser drei Optionen zur Verfügung:
1- Zur Verwendung der Leave
Ereignis .. so etwas wie die folgenden:
private void textBox1_Leave(object sender, EventArgs e)
{
if (textBox1.Text.StartsWith("-"))
{
textBox2.Text += "\r\n Please do not use other characters \r\n";
}
}
In diesem Fall Die Nachricht wird nur angezeigt, wenn textBox1
den Fokus verliert.
2- Wenn Sie die Meldung angezeigt werden soll, während Sie tippen, aber gleichzeitig angezeigt werden, können Sie etwas tun:
bool Alerted;
private void textBox1_Enter(object sender, EventArgs e)
{
Alerted = false;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (Alerted) { return; }
if (textBox1.Text.StartsWith("-"))
{
Alerted = true;
textBox2.Text += "\r\n Please do not use other characters \r\n";
}
}
Dies wird die Nachricht nicht angezeigt werden wieder bis textBox1
wieder Fokus.
3- Und wenn Sie die Meldung wollen nie wieder angezeigt werden, es sei denn, das (-) entfernt wird und erneut eingegeben haben, dann verwenden Sie nicht die Enter
, und Sie können einfach verwenden Sie die folgenden Schritte aus:
bool Alerted;
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text.StartsWith("-"))
{
if (Alerted) { return; }
Alerted = true;
textBox2.Text += "\r\n Please do not use other characters \r\n";
}
else
{
Alerted = false;
}
}
One letzte Note: Sie wahrscheinlich nicht brauchen \r\n
am Anfang und am Ende der Nachricht, können Sie es einfach von der Linie bis zum Ende hinzuzufügen.
Hoffe, dass hilft :)
ändern Sie es, um zu validieren, wenn das Textfeld den Fokus verliert, um eine Messagebox mit Ihrer Nachricht zu öffnen, dann geben Sie den Textfeld Fokus wieder. Dadurch wird sichergestellt, dass Benutzer keinen Wert eingeben können, der die Einschränkung nicht erfüllt.
if(textBox1.Text.StartsWith("-"))
{
textBox2.Text = "\r\n Please do not use other characters \r\n";
}
else
textBox2.Text = "";
verwenden Sie + =, dies fügt jedes Mal eine Fehlerzeichenfolge hinzu, wenn textbox1 Text mit "-" beginnt. Wenn Sie dieses einmal hinzufügen möchten, entfernen Sie + = und fügen nur hinzu =
Sie verketten Ihre Fehlermeldung zum Inhalt Ihrer Textbox jedes Mal über den Operator +=
, aber Sie müssen tatsächlich nur auf diesen Wert setzen unter Verwendung des =
Betreiber:
// If your TextBox starts with "-"
if(textBox1.Text.StartsWith("-"))
{
// Set your textbox to the error message
textBox2.Text = "\r\n Please do not use other characters \r\n";
}
else
{
// Otherwise, there isn't a problem (remove any error messages)
textBox2.Text = "";
}
Wenn Sie einen kürzeren Ansatzes bevorzugt, würde das folgende tut das gleiche:
// This will handle all of your logic in a single line
textBox2.Text = textBox1.Text.StartsWith("-") ? "\r\n Please do not use other characters \r\n" : "";
- 1. C# MVC Textbox MultiLanguage
- 2. Multi-color TextBox C#
- 3. Schreibgeschützte Textbox in C#
- 4. C#: Textbox LostFocus Ereignisbehandlung
- 5. Wie eine jquery Nachricht nach Textbox zeigen, in php
- 6. Anzeige der Nachricht in der Nähe von TextBox mit Javascript
- 7. ändern Grenzfarbe in TextBox C#
- 8. C# Put-String in TextBox
- 9. C# hinzufügen Fortschrittsbalken in TextBox
- 10. C# wpf MVVM Textbox Update
- 11. Entfernen von TextBox, Standortproblem C#
- 12. C#, TextBox '&' wechselt zu Amp;
- 13. WIX-Äquivalent einer C# -Textbox?
- 14. C# set FontSize von TextBox
- 15. Numerische TextBox in C# - WPF
- 16. Telegramm C# Beispiel Nachricht senden
- 17. Senden Nachricht mit Twilio-C#
- 18. lesen Soap Nachricht mit C#
- 19. Senden MSMQ Nachricht Problem ... (C#)
- 20. Anzeigen einer C# -Nachricht only
- 21. C++ Laufzeitfehler mit verketteten Nachricht
- 22. MVC C# Nachricht lesen Update
- 23. Multi Line TextBox Textausrichtung (C# 2.0)
- 24. C# WinForms Vertikale Ausrichtung für TextBox usw.
- 25. Visual C++ Stopp Textbox Cursor Bewegung
- 26. Sorting Liste <TextBox> Numerisch C#
- 27. Blättern Sie nach unten von C# TextBox
- 28. Eine Textbox/Richtextbox mit Syntax-Highlighting? [C#]
- 29. C# Aktualisierung TextBox von mehreren Threads
- 30. ändern/aktualisieren Objektwert mit TextBox DataBind C#
Anstelle von '+ =' verwenden '='? – CodeCaster
Ich möchte, dass das Programm die Nachricht immer hinzufügt, wenn textbox1 mit "-" beginnt. –
Bitte bearbeiten Sie Ihre Frage so, dass sie Schritt für Schritt enthält, was Sie wollen und was Sie denken "all time" bedeutet. – CodeCaster