[C#][Windows Formsアプリ][TextBox] PasswordCharプロパティを理解しよう

スポンサーリンク

はじめに

ログイン画面や暗証番号入力欄を作るときに欠かせないのが
TextBoxのPasswordCharプロパティです。
ユーザーが入力した文字を「●」や「*」などでマスクして表示できます。

 

1. PasswordCharプロパティとは?

PasswordChar プロパティを設定すると、
TextBoxに入力した文字が指定した文字で置き換えて表示されます。
通常は「●」や「*」を利用します。

例:ユーザーが secret123 と入力しても、画面には「*********」と表示される。

2. 基本の使い方

デザイナーで設定する方法

  1. フォームにTextBoxを配置する
  2. プロパティウィンドウの PasswordChar に「*」などを入力する

コードで設定する方法

textBox1.PasswordChar = '*';

3. 実用例:ログインフォーム

using System;
using System.Windows.Forms;

namespace PasswordCharSample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            // パスワード入力欄の設定
            textBoxPassword.PasswordChar = '●';
        }

        private void buttonLogin_Click(object sender, EventArgs e)
        {
            string user = textBoxUser.Text;
            string pass = textBoxPassword.Text;

            if (user == "admin" && pass == "1234")
            {
                MessageBox.Show("ログイン成功!");
            }
            else
            {
                MessageBox.Show("ユーザー名またはパスワードが違います。");
            }
        }
    }
}

このように PasswordChar を設定するだけで、
簡単にパスワード入力欄を実装できます。

4. 注意点

  • 入力文字そのものは隠されない
    textBox1.Text にアクセスすれば、実際の文字列がそのまま取得できます。
    セキュリティ上、暗号化やハッシュ化は別途実装が必要です。
  • 空文字の場合
    → 当然ながら何も表示されません。
  • UseSystemPasswordCharとの違い
    → Windows標準の「●」を自動で使いたい場合は UseSystemPasswordChar = true を設定できます。

まとめ

  • PasswordChar を使うと、TextBoxをパスワード入力欄にできる
  • 「*」や「●」など好きな文字でマスク可能
  • セキュリティ強化には、取得した文字列を暗号化処理するのが必須

シンプルながら必ず押さえておきたいプロパティです。

 

Please follow and like us:

コメント

タイトルとURLをコピーしました