Platzhalter zu einem Textfeld in C# hinzufügen

Syed Hassan Sabeeh Kazmi 12 Oktober 2023
  1. Erstellen Sie eine Textbox mit Platzhaltertext in C#
  2. Verwenden Sie die Fokusereignisse Enter und Leave in der Visual Studio-IDE, um Platzhaltertext zu einem Textfeld in C# hinzuzufügen
  3. Installieren Sie Bunifu UI in Visual Studio, um das Textfeld mit einem Platzhalter in C#-Projekten hinzuzufügen
Platzhalter zu einem Textfeld in C# hinzufügen

In diesem Tutorial lernen Sie die drei Methoden zum Hinzufügen eines Platzhalters zu einem Textfeld in C# kennen. Da Platzhalter als Hinweis zu verstehen sind, sind sie kein Ersatz für labels oder title.

Erstellen Sie eine Textbox mit Platzhaltertext in C#

Das Erstellen eines Textfelds mit einem Platzhaltertext, der verschwindet und es den Benutzern ermöglicht, ihren Text einzugeben, gibt Entwicklern die Freiheit der vollständigen Anpassung. Darüber hinaus können Sie den Platzhaltertext eines Formularelements formatieren.

Im Allgemeinen enthält ein Textfeld einen Platzhalter; Wenn es fokussiert wird, wird der Platzhalter entfernt, damit der Benutzer Text hinzufügen kann. Wenn das Textfeld den Fokus verliert und der Benutzer keinen Text eingegeben hat, wird der Platzhalter wieder zum Textfeld hinzugefügt.

Der folgende C#-Code erstellt ein Textfeld mit einem Platzhalter.

Form1.Designer.cs:

// `Form1` as your C# project form
// `Form1.Designer.cs` Code to create a `PlaceholderTxtB` textbox

namespace TextboxPlaceholder {
  partial class Form1 {
    private System.ComponentModel.IContainer components = null;

    protected override void Dispose(bool disposing) {
      if (disposing && (components != null)) {
        components.Dispose();
      }
      base.Dispose(disposing);
    }

#region Windows Form Designer generated code

    private void InitializeComponent() {
      this.PlaceholderTxtB = new System.Windows.Forms.TextBox();
      this.button1 = new System.Windows.Forms.Button();
      this.SuspendLayout();
      //
      // PlaceholderTxtB
      //
      this.PlaceholderTxtB.Location = new System.Drawing.Point(12, 12);
      this.PlaceholderTxtB.Name = "PlaceholderTxtB";
      this.PlaceholderTxtB.Size = new System.Drawing.Size(188, 20);
      this.PlaceholderTxtB.TabIndex = 0;
      //
      // Create a `button1` button to lose focus from the `PlaceholderTxtB` textbox
      //
      this.button1.Location = new System.Drawing.Point(57, 39);
      this.button1.Name = "button1";
      this.button1.Size = new System.Drawing.Size(75, 23);
      this.button1.TabIndex = 1;
      this.button1.Text = "Focus";
      this.button1.UseVisualStyleBackColor = true;
      //
      // Form1
      //
      this.ClientSize = new System.Drawing.Size(284, 261);
      this.Controls.Add(this.button1);
      this.Controls.Add(this.PlaceholderTxtB);
      this.Name = "Form1";
      this.ResumeLayout(false);
      this.PerformLayout();
    }

#endregion

    private System.Windows.Forms.TextBox PlaceholderTxtB;
    private System.Windows.Forms.Button button1;
  }
}

Form1.cs:

// `Form1.cs` code to add a placeholder text to `PlaceholderTxtB` textbox

using System;
using System.Drawing;
using System.Windows.Forms;

namespace TextboxPlaceholder {

  public partial class Form1 : Form {
    string ph = "Type your user name here...";

    public Form1() {
      InitializeComponent();
      PlaceholderTxtB.GotFocus += RemoveText;
      PlaceholderTxtB.LostFocus += AddText;
    }

    private void Form1_Load(object sender, EventArgs e) {}
    public void RemoveText(object sender, EventArgs e) {
      if (PlaceholderTxtB.Text == ph)
        PlaceholderTxtB.Text = "";
    }
    public void AddText(object sender, EventArgs e) {
      if (String.IsNullOrWhiteSpace(PlaceholderTxtB.Text)) {
        PlaceholderTxtB.ForeColor = Color.Gray;
        PlaceholderTxtB.Text = ph;
      }
    }
  }
}

Das Ladeereignis Form1 enthält die Methode InitializeComponent(), die den Code zum Erstellen des Textfelds PlaceholderTxtB enthält. Erstellen Sie in Form1.cs die Ereignisse .GotFocus und .LostFocus einer Textbox.

Immer wenn das Textfeld PlaceholderTxtB den Fokus erhält, wird der Platzhaltertext entfernt. Wenn das Textfeld jedoch den Benutzerfokus verliert und leer bleibt, wird der Platzhaltertext erneut angezeigt.

Verwenden Sie die Fokusereignisse Enter und Leave in der Visual Studio-IDE, um Platzhaltertext zu einem Textfeld in C# hinzuzufügen

In Visual Studio erhielt jede Komponente eines Formulars Ereignisse. Im Falle einer Textbox finden Sie Focus-Ereignisse unter Properties Ihrer C#-Projektformulare.

Verwenden Sie die Events Enter und Leave, um einen Platzhalter für Ihr Textfeld zu erstellen.

// `Form1.cs` code for `Enter Focus` and `Leave Focus` events to add a placeholder text to a
// `textBox1` textbox

string phd = "Password@123";

private void Enter_Focus(object sender, EventArgs e) {
  // textBox1.ForeColor = Color.Gray;
  if (textBox1.Text == phd)
    textBox1.Text = "";
}

private void Leave_Focus(object sender, EventArgs e) {
  textBox1.ForeColor = Color.Gray;
  if (textBox1.Text == "")
    textBox1.Text = phd;
}

textBox1.Text = phd ist ein Platzhaltertext, der angezeigt wird, wenn die Eingabe leer ist und der Benutzer den Fokus auf ein Textfeld verliert, um einen möglichen Wert vorzuschlagen. Die Ereignisse Enter_Focus und Leave_Focus einer Textbox erhalten oder setzen den Platzhaltertext, der angezeigt wird, wenn das Steuerelement keinen Text hat und nicht den Fokus hat.

Installieren Sie Bunifu UI in Visual Studio, um das Textfeld mit einem Platzhalter in C#-Projekten hinzuzufügen

Verwenden Sie NuGet, um Bunifu UI einfach zu installieren und zu aktivieren. In der Visual Studio IDE bietet NuGet eine schnellere und einfachere Möglichkeit, Ihre Anwendungen nahtlos zu installieren, zu aktivieren und bereitzustellen.

Um Bunifu UI über NuGet Package Manager Console zu installieren, führen Sie Folgendes aus:

Install-Package Bunifu.UI.WinForms

Gehen Sie in Ihrem C#-Projekt zu Tools und klicken Sie auf Manage NuGet Packages for Solution..., indem Sie auf NuGet Package Manager zugreifen. Danach sehen Sie die Registerkarte NuGet - Solution, navigieren Sie zum Abschnitt Browse und suchen Sie nach Bunifu.

In den Suchergebnissen finden Sie das Paket Bunifu.UI.WinForms und können es installieren. Fügen Sie es Ihrem C#-Projekt hinzu, um die Liste der Steuerelemente auf der Registerkarte Toolbar anzuzeigen.

Es bietet ein Textfeld mit vordefinierten Textplatzhaltern. Suchen Sie BunifuTextBox in der Toolbox Ihres C# Visual Studio-Projekts und ziehen Sie es auf Ihr Formular.

Passen Sie es an, indem Sie seine Eigenschaften ändern, und Sie erhalten ein Textfeld mit einem Platzhaltertext.

In diesem Lernprogramm haben Sie die drei verschiedenen Methoden zum Hinzufügen von Platzhaltertext im Textbereich eines Textfelds kennengelernt, um eine übersichtlichere Benutzeroberfläche bereitzustellen. Verschwindende Platzhalter können Sie jedoch verwirren, wenn Ihre Textfelder mit nichts anderem beschriftet sind.

Glücklicherweise bleibt der Platzhaltertext bei den Lösungen, die Sie in diesem Lernprogramm erhalten, erhalten, bis der Benutzer mit der Texteingabe beginnt. Platzhalter als Inline geben an, welche Informationen in ein Textfeld eingegeben werden sollen, wodurch die Zugänglichkeit eingeschränkt wird.

Syed Hassan Sabeeh Kazmi avatar Syed Hassan Sabeeh Kazmi avatar

Hassan is a Software Engineer with a well-developed set of programming skills. He uses his knowledge and writing capabilities to produce interesting-to-read technical articles.

GitHub

Verwandter Artikel - Csharp Textbox

Verwandter Artikel - Csharp GUI