タブレットPC開発入門 C#編 第7回 コントロールを使う(その1)

このページをDeliciousに追加 このページをはてなブックマークに追加 このページをYahoo!ブックマークに追加

2002年11月7日(木)版

タブレットPC開発入門 C#編 第7回 コントロールを使う(その1)

デスクトップ、ノートブックから、第3のスタイルへ


■いよいよコントロールを使ってみよう

 ここまで読み進めてきたあなたはC#に対してどのような印象をお持ちになっただろうか。「C#プログラミングって案外簡単。」なんて思われた方もきっと多いのではないだろうか。「C#って最高!」などと思われた方もいるかもしれない。だが、本当に面白いのはこれからだ。

 「C#って難しい。」と思われた方でもまだ大丈夫。これからもまだ平易なコードが続くし、自分のペースで分かるまで1つ1つじっくりやれば良い。連載は進んでいくが誰もあなたを急かしはしない。あなたはもう立派にC#プログラマだ。1つ1つハードルを乗り越え、是非ともこの先へ進んで欲しい。

 さて、いよいよ今回はコントロールを使ったコードを書いてみよう。コントロールのプログラミングは「ボタンが押された」、「文字が入力された」等のイベントに対して、処理を書いていくスタイルなので、他の余計な処理を書く必要がなくとても分かりやすい。

 イベントに基づいて動作する事をイベントドリブンと言うが、C#プログラミングはイベントドリブンプログラミングの典型である。(Visual Basicに慣れ親しんだ人には大きなお世話か。)

■Buttonコントロール

 コントロールを始めて触るなら、Buttonが良いだろう。Buttonが押されたときのイベント処理は直感的で大変理解しやすいものだ。Visual Studio.NETを起動し「新しいプロジェクト」で「Windows アプリケーション」を作成しFormを表示する。プロジェクト名は"ControlTest"等で良いが好きに決めていただいても構わない。

 ツールボックスからButtonを選択し、Form上の好きな位置に貼り付ける。Buttonを貼り付けたらそれをダブルクリックする。そうすると自動的にButton名_Clickイベントのコードが表示されるのでここに必要な処理を書くことになる。

 例えば、これまでに何度か出てきたMessageBoxで、Buttonが押されたときに何かメッセージを表示するには、Clickイベントで以下のように記述すれば良い。


private void button1_Click(object sender, System.EventArgs e)
{
MessageBox.Show("Clicked!");
}

 コードを書き終わったら早速ビルドして実行してみよう。ウィンドウ上には先程貼り付けたButtonが表示されていると思うがこれを押してみる。メッセージボックスは表示されただろうか。

 Button上に表示されている文字の変更は、そのButtonのTextプロパティを変更することで可能となる。例えば、Button上に表示されている文字を"Click me!"にしたければ、Textプロパティを"Click me!"に設定すれば良い。

■TextBoxコントロール

 TextBoxはユーザーからの入力を受け付けたり、反対に処理結果の表示に使用することも出来る。ツールボックスからTextBoxを選択し、Buttonと同じFormに貼り付ける。TextBoxのTextプロパティには最初から文字が入っているので、不要ならば消しておこう。

 TextBoxを貼り付けたら先程のButtonのClickイベントのコードを少し変更してみよう。MessageBox.Showメソッドを以下のように変更して欲しい。


MessageBox.Show(textBox1.Text);

 コードの変更が終わったらビルドして実行してみよう。まずテキストボックスに何か好きな文字を入力しボタンを押す。メッセージボックスでテキストボックス内の文字列が表示されたはずである。尚、Visual Basic6.0のときにあったデフォルトプロパティと言う考え方は.NETからはどの言語でもなくなったので.Textまでしっかりと記述する必要がある。

 今度はTextBoxを処理結果の表示に利用してみよう。新たにもう1つTextBoxを貼り付け、MultiLineプロパティをTrueに変更する。MultiLineプロパティをTrueにするとTextBox内で改行することが可能になる。あわせてScrollBarsプロパティをVerticalに設定しておくと、垂直方向のスクロールバーが表示される。

 ButtonのClickイベントのコードをまた少し変更する。今度はユーザーが入力した内容をメッセージボックスではなく、新たに貼り付けたテキストボックス内に表示する。以下のようにコードを変更する。


textBox2.Text += textBox1.Text + "\r\n";

 最後の"\r\n"は改行コードでボタンを押すたびに改行させるために必要となる。先程と同様にビルドして実行する。textBox1に文字を入力しボタンを押すと、新たに貼り付けたtextBox2にその文字が表示されたはずである。何度かボタンを押すと随時textBox1の文字が改行されて追加されていく。

■今回のおさらい

 今回はButtonコントロールとTextBoxコントロールを使ってみた。ButtonのClickイベントのコードを書いて実際にボタンを押して試してみた。Button上の表示はTextプロパティで変更する。

 TextBoxに入力した内容をMessageBoxで表示した。TextBoxの内容はTextプロパティで取得する。また、TextBoxをユーザーからの入力を受け付けるためだけでなく、アプリケーションからの出力にも利用した。この場合にはアプリケーションでTextBoxのTextプロパティを設定する。

 アプリケーションからTextBox内で改行させるためには"\r\n"を文字列の末尾に連結する。ただし、TextBoxで複数行表示するためには、予めMultiLineプロパティをTrueに設定しなければならない。

 ではまた次回。

なお、下記より、今回のサンプルプログラム全体をダウンロードすることができる。時間がない人や、自分でうまく動かせなかった人は、ぜひ下記をみてじっくり悩んでみてほしい。
コントロールのサンプルダウンロード



タブレットPC開発入門 C#編 第7回 コントロールを使う(その1)

Reported by Allergy


Last-modified: Sun, 24 May 2009 23:45:30 JST (3773d)