ASP.NETの基本:TextBoxコントロールを使う

文:Tony Patton(Special to TecRepublic) 翻訳校正:石橋啓一郎
2008-02-19 12:01:01
  • このエントリーをはてなブックマークに追加

 開発者は、新しい方法や気の利いた方法で結果を出力するプログラミングの基本的な選択肢を見落としていることは多い。これは、標準的なASP.NETの機能の多くに言えることだ。WebコントロールのTextBoxがその好例で、このコントロールはアプリケーションを作る際に多くの選択肢を提供してくれる。ここでは、TexBoxコントロールを詳しく見ていくことにする。

あらゆる場所で使われるTextBox

 TextBoxコントロールを使っていないASP.NETのウェブアプリケーションは稀だ。代わりに昔から使われているHTMLのinputとtextarea要素を使うことも出来るが、機能も少なくASP.NETとの統合でも不便だ。

 TextBoxコントロールの基本的な前提は、ユーザー入力を受け取ることだ。これは、ユーザーがユーザー名や複数行にわたる文章を入力するというような単純なものかもしれない。このコントロールは、コード中でこれを行うための多くのメソッドやプロパティを提供している。

プログラムのコントロール

 System.Web.UI.WebControls名前空間のTextBoxクラスはプログラムからのアクセスを提供する。TextBoxの外見や動作は、プロパティで操作できる。次のリストはプロパティの例だ。

  • AutoPostBack:このコントロールでAutoPostBack機能を有効にするかどうかを指定するブール値。これによって、フィールドの内容が変化した際に、自動的にフォームの内容をサーバーに送り返すかどうかを指定する。
  • BackColor:コントロールの背景色。CSSからもコントロールできる。
  • BorderColor:コントロールの外側に表示される罫線(使われている場合)の色。
  • BorderWidth:ページ上のコントロールの外側の罫線の幅。
  • CausesValidation:フォームのポストバックが実行されている際に、検証を行うかどうかを指定するブール値。
  • Columns:TextBoxコントロールの表示幅。
  • CssClass:コントロールにCSSクラスを割り当てることを可能にする。
  • Font:コントロールと関連づけられているさまざまなフォント属性。CSSを使うアプローチの方が望ましいが、Fontクラスはテキストをボールド、イタリック、強調、下線などで表示するかどうかを指定するプロパティを含むほかに、フォントサイズ、フォント名なども持っている。
  • ForeColor:このフィールドに表示されるテキストの色。CSSを使う方が望ましい。
  • Height:コントロールの縦の大きさを取得あるいは設定する。
  • MaxLength:このフィールドで許される最大キャラクタ数。
  • ReadOnly:コントロールをユーザーが編集できるか、読み取り専用かを指定するブール値。
  • Rows:複数行を使う設定の場合のTextBoxの行数。
  • SkinId:TextBoxの外見をコントロールするため、スキンを設定する。
  • Text:フィールドに含まれるテキスト。
  • TextMode:コントロールのテキストモード。TextBoxModeクラスで有効な値は、single-line、multiline、passwordのいずれかになる。passwordに設定すると入力されるテキストはマスクされるため、パスワードは表示されないが、コードの中からは操作や保存が可能だ。
  • Visible:このコントロールを表示するか非表示にするかを指定するブール値。
  • Wrap:フィールド内でテキストを折り返しするかどうかを指定するブール値。

 次のC#の例は、ページのロード中に使われるプロパティの例を示している。このコードに含まれているページには、TextBox1という名前のTextBoxコントロールが1つ含まれている。このコードではTextBoxをmultilineにし、フォントのプロパティと色を設定している。

protected void Page_Load(object sender, EventArgs e) {
TextBox1.AutoPostBack = true;
TextBox1.BackColor = System.Drawing.Color.LightBlue;
TextBox1.BorderWidth = 4;
TextBox1.Columns = 80;
TextBox1.Font.Bold = true;
TextBox1.Font.Italic = false;
TextBox1.Font.Size = FontUnit.Larger;
TextBox1.ForeColor = System.Drawing.Color.Black;
TextBox1.Rows = 40;
TextBox1.TextMode = TextBoxMode.MultiLine;
TextBox1.Wrap = true;
TextBox1.Visible = true;
TextBox1.Text = "This is a test.";
}
 これと同じ動作をするVBのコードは次のようになる。
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
TextBox1.AutoPostBack = True
TextBox1.BackColor = System.Drawing.Color.LightBlue
TextBox1.BorderWidth = 4
TextBox1.Columns = 80
TextBox1.Font.Bold = True
TextBox1.Font.Italic = False
TextBox1.Font.Size = FontUnit.Larger
TextBox1.ForeColor = System.Drawing.Color.Black
TextBox1.Rows = 40
TextBox1.TextMode = TextBoxMode.MultiLine
TextBox1.Wrap = True
TextBox1.Visible = True
TextBox1.Text = "This is a test."
End Sub
  • 新着記事
  • 特集
  • ブログ
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]