Zunächst weiß ich, dass es wahrscheinlich bessere Lösungen gibt und ich bin sehr bereit, auf diese Lösungen zu hören. Ich habe im Internet nach einem Problem wie diesem gesucht, kann aber keins finden, das bisher funktioniert. Ich habe mehrere Textfelder in einem Formular, wenn der Benutzer auf das Textfeld klickt Ich führe eine Methode aus, die herausfindet, welches Textfeld fokussiert ist, erhält das Tag dieses Textfelds und den Namen des Textfelds als Zeichenfolgen (TextboxX und Test). Mein Ziel ist es, die Textfelder mit zum Beispiel "E-Mail" zu maskieren und wenn der Benutzer auf die Textbox klickt, ändert sich die Textbox-Vordergrundfarbe zu Schwarz und der Textfeld-Text ist null, mit so wenig Code wie möglich. Hier ist der Code, den ich dafür habe.Erhalten Sie den Namen eines fokussierten Textfelds in einem Formular C#
public void masked()
{
if (textboxX.Text == test)
{
textboxX.ForeColor = Color.Black;
textboxX.Text = "";
}
else
{
textboxX.Select(0, textboxX.Text.Length);
}
}
Wenn die Textbox geklickt das ist, was es zur Zeit der Fall ist.
private void txtSignup_email_Click(object sender, EventArgs e)
{
textboxX = txtSignup_email;
test = "Email";
masked();
}
Der Grund dafür ist, dass ich 7 Textfelder haben, wird es mir etwa 14 Zeilen Code speichern, die eigentlich nicht notwendig ist. Danke im Voraus.
Sie können alle Text zeigen Boxen zum selben Eventhandler, was bedeutet, dass alle denselben Validierungscode verwenden. – ainwood
Machst du sonst noch etwas in den Klickereignissen? neben der Maskierung? Wenn ja, wie unterscheidet es sich von Textbox zu Textbox? –