HOW TO:使用 Windows Form TextBox 控制項建立密碼文字方塊
密碼方塊屬於 Windows Form 文字方塊,當使用者輸入字串時會出現替代符號。
若要建立密碼文字方塊
將 TextBox 控制項的 PasswordChar 屬性設定為特定字元。
PasswordChar 屬性指定文字方塊中出現的字元。 例如,如果您希望密碼方塊中出現星號,請將 [屬性] 視窗中的 PasswordChar 屬性指定為 *。 然後,無論使用者在文字方塊中輸入什麼字元時,都會顯示星號。
(選擇性的) 設定 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() { // Put some text into the control first. textBox1.set_Text("This is a TextBox control."); // Set to no text. textBox1.set_Text(""); // The password character is an asterisk. textBox1.set_PasswordChar('*'); // The control will allow no more than 14 characters. textBox1.set_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; }
請參閱
工作
HOW TO:控制 Windows Form TextBox 控制項的插入點
HOW TO:建立唯讀文字方塊 (Windows Form)
HOW TO:將引號放入字串中 (Windows Form)
HOW TO:在 Windows Form TextBox 控制項中選取文字
HOW TO:檢視 Windows Form TextBox 控制項中的多行