共用方式為


如何:使用 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;
       }
    

另請參閱