tanaka's Programming Memo

プログラミングについてのメモ。

702 プログラムでコントロールを作成する方法

Labelも配列にしたい。ここではLabelのようなコントロールをプログラムで生成する方法を紹介して、演習のLabelを配列に書き換えることを目指す。

ここで目指すこと

  • コントロールをプログラムで作成する方法を知ること
  • プログラムでLabelを作成すること
  • Labelを配列で制御すること

コントロールの作成手順

  1. 作成したいコントロールのクラス変数を定義する
  2. コントロールのインスタンスをnewキーワードで生成して、変数に代入する
  3. コントロールのプロパティを設定する
  4. フォームに追加する

ラベルをプログラムで作成する

作成手順

  • 新しいプロジェクトを作成する(projCreateLabelなどのプロジェクト名)
  • フォームをダブルクリックする
  • 以下のプログラムを入力する
            Label lbl = new Label();
            lbl.AutoSize = true;
            lbl.Text = "ラベルを作成";
            Controls.Add(lbl);

プログラムの意味

  • 変数lblを定義して、Labelのインスタンス(実体)をnewで生成して代入
Label lbl = new Label();
  • ラベルの幅が、テキストに応じて自動的に大きくなるようにAutoSizeプロパティをtrueにする
lbl.AutoSize = true;
  • ラベルに表示させる文字列を代入
lbl.Text = "ラベルを作成";
  • ラベルをフォームに貼る
Controls.Add(lbl);

まとめ

  • コントロールはプログラムで作成することができる
  • newでコントロールのインスタンス(実体)を生成
  • Controls.Add()で追加する

演習

前の項の演習で作成したプログラムのlabel2,label3、label4を、配列に書き換えたい。以下の手順に従ってプログラムを書き換えよう。

手順

  • 前の項で作成したプロジェクトを開く。
  • フォームから、label2、label3、label4を削除する。
  • コードを開く。
  • vxやvyの配列を定義している下の行に(⑤の場所)、以下を追加して、3つ分のLabelの配列を定義する。
private Label [] label = new Label[3];
  • コンストラクタ(vxやvyに乱数を求めている場所)の下に、このページで解説しているLabelの追加方法を参考にして、label[0]、label[1]、label[2]にLabelを生成して、プロパティを設定して、フォームに追加する。
    • Label lblの部分を、label[0]やlabel[1]、label[2]に変更する。
    • 3つ作るので、Labelを作成するプログラムもコピー&ペーストなどで3つ分にする。
  • プログラム内のlabel2をlabel[0]に、label3をlabel[1]に、label4をlabel[2]に書き換える。

以上で書き換え完了。

今後の展開

ここまでで、Labelはlabel[0]~label[2]に、X速度はvx[0]~vx[2]に、Y速度はvy[0]~vy[2]で扱うようにした。添え字には変数で指定することが可能である。この性質を利用すると、繰り返し処理を使うことでプログラムを整理することができる。次から、最後のミソである繰り返し処理に入る。


前へ | 目次 | 次へ