libro
www.tuyano.com
初心者のためのC#プログラミング入門

Formを使ってWindowsアプリを作ろう! (4/5)

作成:2013-08-24 10:45
更新:2013-08-24 10:45

■TextBoxとButtonを利用する

コントロール利用の基本がわかったところで、もっとも基本的なコントロールとして、Labelの他に「TextBox」「Button」といったものを使ってみましょう。

TextBoxは、テキストを入力するためのフィールドです。1行だけのテキストを記入するのによく用いられるGUIですね。Buttonは、いわゆるプッシュボタンで、クリックして何かを操作するのに用います。

では、これらを組み込んだMyFormクラスを作成してみましょう。下のリスト欄に簡単なサンプルコードを挙げておきます。このようにMyFormを書き替えてみてください。Programクラスの方はそのままで構いません。

プログラムを実行し、入力フィールドに何か書いてボタンをクリックすると、メッセージが表示されます。ごくシンプルなものですが、3つのコントロールとクリック操作を使ったイベント処理が作成されていることがわかるでしょう。では、ポイントを整理しましょう。


●TextBoxについて
TextBoxは、テキストを入力するためのコントロールでしたね。これは作成後、大きさや位置を調整してからMyFormControlsAddしています。新たなプロパティとして以下の2つが登場していますね。

Top――コントロールの縦方向の位置を示すものです。
Left――コントロールの横方向の位置を示すものです。

これらは、そのコントロールが組み込まれているコンテナ(ここではMyFormのウインドウ)の左上から右に○○ドット、下に○○ドット離れている、という形で指定をします。その他、WidthHeightLabelと同じですね。


●Buttonについて
Buttonはプッシュボタンのコントロールでした。これも、Width, Height, Top, Leftといったプロパティで大きさや位置を指定し、Textで表示するテキストを指定しています。このように、コントロールというのは、種類が違っても、基本的なプロパティはだいたい共通しているのです。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

using System;
using System.Drawing;
using System.Windows.Forms;

namespace MyFrmApp
{
    public class MyForm : Form
    {
        private Label label;
        private TextBox box;
        private Button btn;
        
        public MyForm()
        {
            this.Width = 300;
            this.Height = 200;
            setupControls();
        }
        public void setupControls()
        {
            label = new Label();
            label.Text = "type text:";
            label.Font = new Font("Geneva",12,FontStyle.Regular);
            label.Height = 30;
            label.Width = 300;
            this.Controls.Add(label);
            box = new TextBox();
            box.Width = 225;
            box.Top = 50;
            box.Left = 25;
            this.Controls.Add(box);
            btn = new Button();
            btn.Text = "click";
            btn.Height = 30;
            btn.Width = 100;
            btn.Top = 100;
            btn.Left = 100;
            btn.Click += btn_Click;
            this.Controls.Add(btn);
        }
        
        private void btn_Click(object sender, System.EventArgs e)
        {
            string str = box.Text;
            label.Text = "you write'" + str + "'.";
        }
    }
}

※関連コンテンツ

「初心者のためのC#プログラミング入門」に戻る