Ich verwende die folgenden Funktionen, um Platzhalter-Effekt in einem Textfeld zu erstellen, und es funktioniert einwandfrei.Platzhalter in mehreren Textfeldern
Jetzt möchte ich das auf mehrere Textfelder verwenden. Da ich nur eine Box hatte, reichte die placeholder
Variable. Bei mehreren Feldern benötige ich mehrere Platzhalterzeichenfolgen. Gibt es eine Möglichkeit, einem Textfeld benutzerdefinierte Eigenschaften hinzuzufügen, sodass ich über die Platzhalterfunktionen darauf zugreifen kann?
public MainForm()
{
InitializeComponent();
Placeholder_Show(DomainBox, null);
}
public static string placeholder = "example.com";
private void Placeholder_Hide(object sender, EventArgs e)
{
var box = sender as TextBox;
if (box.Text == placeholder)
{
box.Text = "";
box.ForeColor = Color.Black;
box.Font = new Font("Segoe UI", 10.2F, FontStyle.Regular);
}
}
private void Placeholder_Show(object sender, EventArgs e)
{
var box = sender as TextBox;
if (string.IsNullOrEmpty(box.Text))
{
box.Text = placeholder;
box.ForeColor = Color.Gray;
box.Font = new Font("Segoe UI", 10.2F, FontStyle.Italic);
}
}
Wunsch Code (Beispiel):
textBox1.placeholder = "some";
textBox2.placeholder = "string";
private void Placeholder_Hide(object sender, EventArgs e)
{
var box = sender as TextBox;
if (box.Text == box.placeholder) // placeholders are associated with boxes
{
box.Text = "";
box.ForeColor = Color.Black;
box.Font = new Font("Segoe UI", 10.2F, FontStyle.Regular);
}
}
private void Placeholder_Show(object sender, EventArgs e)
{
var box = sender as TextBox;
if (string.IsNullOrEmpty(box.Text))
{
box.Text = box.placeholder;
box.ForeColor = Color.Gray;
box.Font = new Font("Segoe UI", 10.2F, FontStyle.Italic);
}
}
ich mit C# nicht so vertraut bin. Vielleicht gibt es einen besseren Weg, damit umzugehen.
Sie könnten die 'TextBox' Klasse erweitern und diese in Ihrer neuen Klasse implementieren. – dcg
Mögliches Duplikat von [Wie kann ich eine neue Funktion oder Eigenschaft in die Texteigenschaft der Textboxklasse einfügen] (https://stackoverflow.com/questions/2697648/how-can-i-add-a-new-function-or-property -on-Textfeld-Klassen-Text-Eigenschaft) – mjw