2010年12月17日

[C#] 未入力テキストボックスに説明文を表示する

 何も入力していない状態では、何を入力すればいいかを表すテキストが薄い色で表示され、実際に入力するときにはそのテキストが消えるようにしたいことがあります。
人気ブログランキング
 このような処理は、フォームのコンストラクター、およびテキストボックスのEnterイベント、Leaveイベントを実装することで実現できます。ただし、フォームが表示された時点でテキストボックスにフォーカスがあると不自然な動作をします。
public Form1()
{
  InitializeComponent();
  textBox1.Text=defaultText;
  defaultColor=textBox1.ForeColor;
}

string defaultText="何か入力して下さい";
Color defaultColor;
Color grayText=Color.Gray;

private void textBox1_Leave(object sender,EventArgs e)
{
  if(textBox1.Text.Length<=0 || textBox1.Text==defaultText)
  {
    textBox1.Text=defaultText;
    textBox1.ForeColor=grayText;
  }
  else textBox1.ForeColor=defaultColor;
}

private void textBox1_Enter(object sender,EventArgs e)
{
  if(textBox1.Text==defaultText)
  {
    textBox1.Text=string.Empty;
    textBox1.ForeColor=defaultColor;
  }
}
web拍手 by FC2
posted by 北条利彦 at 21:21 | Comment(0) | TrackBack(0) | C# | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/173807800

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。