如何:使用 Windows Form TextBox 控制項建立密碼文字方塊

密碼方塊是 Windows Forms 文字方塊,會在使用者輸入字串時顯示預留位置字元。

建立密碼文字方塊

  1. PasswordChar 控制項的 TextBox 屬性設定為特定字元。

    屬性 PasswordChar 會指定文字方塊中顯示的字元。 例如,如果您想要在密碼方塊中顯示星號,請在 屬性視窗 中指定 屬性的 * PasswordChar 。 然後,無論使用者在文字方塊中輸入何種字元,都會顯示星號。

  2. (選擇性) MaxLength 設定 屬性。 屬性會決定文字方塊中可以輸入多少個字元。 如果超過最大長度,系統就會發出嗶聲,文字方塊不接受更多字元。 請注意,您可能不想這樣做,因為密碼的最大長度可能會用於嘗試猜測密碼的駭客。

    下列程式碼範例示範如何初始化文字方塊,此文字方塊將接受長度最多 14 個字元的字串,並顯示星號取代字串。 程式 InitializeMyControl 不會自動執行;必須呼叫它。

    重要

    PasswordChar在文字方塊中使用 屬性有助於確保其他人在觀察使用者輸入密碼時,將無法判斷使用者的密碼。 此安全性措施不會涵蓋因應用程式邏輯而可能發生的任何儲存體或密碼傳輸。 因為輸入的文字不會以任何方式加密,所以您應該將其視為任何其他機密資料。 即使它似乎沒有這樣,密碼仍會被視為純文字字串(除非您已實作一些額外的安全性措施)。

    Private Sub InitializeMyControl()
       ' Set to no text.
       TextBox1.Text = ""
       ' The password character is an asterisk.
       TextBox1.PasswordChar = "*"
       ' The control will allow no more than 14 characters.
       TextBox1.MaxLength = 14
    End Sub
    
    private void InitializeMyControl()
    {
       // Set to no text.
       textBox1.Text = "";
       // The password character is an asterisk.
       textBox1.PasswordChar = '*';
       // The control will allow no more than 14 characters.
       textBox1.MaxLength = 14;
    }
    
    private:
       void InitializeMyControl()
       {
          // Set to no text.
          textBox1->Text = "";
          // The password character is an asterisk.
          textBox1->PasswordChar = '*';
          // The control will allow no more than 14 characters.
          textBox1->MaxLength = 14;
       }
    

另請參閱