フレッシュマン企画 連載
簡単!Visual Studio 2005入門

第5回 初めてのWindowsアプリケーションの開発

デジタルアドバンテージ 一色 政彦
2007/07/09

クラスやオブジェクトのプロパティ(性質)を変更する

 最初にWindowsフォーム上にある時刻表示のLabelコントロール(「timeNow」オブジェクト)のプロパティを設定していこう。具体的には、次の画面のようにして、Labelコントロールのフォント・サイズや、コントロール自体のサイズ、コントロール内のテキストの表示位置などを設定する。

Labelコントロールのプロパティの設定
Labelコントロール(「timeNow」オブジェクト)のフォント・サイズや、コントロール自体のサイズ、コントロール内のテキストの表示位置などを設定する。
  Labelコントロールのプロパティを編集するために、Windowsフォーム上のLabelコントロールを選択する。
  [プロパティ]ウィンドウの「配置」カテゴリの中にある[AutoSize]項目(=AutoSizeプロパティ:コントロールのサイズを、フォント・サイズを基に自動的に決定するかどうかを表す)の値を「False」に変更する。これにより、オブジェクト(この例ではLabelコントロール)のサイズが自動的に変更されないようになる。
  「配置」カテゴリの中にある[Dock]項目(=Docプロパティ:ドッキング状態を表す)の値を「Fill」に変更する。これにより、オブジェクト(この例ではLabelコントロール)が親コンテナ(この例ではWindowsフォーム)の左右上下の端にドッキングされる。つまり、オブジェクトが親コンテナの全領域のサイズに拡大される。
  「表示」カテゴリの中にある[Font]項目(=Fontプロパティ)の値を、フォント名:「MS UI Gothic」、スタイル:「標準」、サイズ:「36」に設定する。これにより、Labelコントロールの文字のサイズが変化する。
  「表示」カテゴリの中にある[Text]項目(=Textプロパティ)の値を、「12時34分 56秒」に変更する。これにより、Labelコントロール内のテキスト文字列が変化する。
  「表示」カテゴリの中にある[TextAlign]項目(=TextAlignプロパティ:テキストの位置を表す)の値に、「MiddleCenter」(=中段中央)を設定する。これにより、Labelコントロール内のテキスト位置が変化する。

 次にWindowsフォーム自体(「Display」クラス)のプロパティを設定しよう。具体的には、次の画面のようにして、フォーム自体のサイズ、(背景が見えるようにするための)透明度、常に最上位に表示するモード、フォームのウィンドウ枠(=境界線)のスタイル、フォームのタイトル・バーに表示するテキストなどを設定する。

Windowsフォームのプロパティの設定
Windowsフォーム(「Display」クラス)のフォーム自体のサイズ、(背景が見えるようにするための)透明度、常に最上位に表示するモード、フォームのウィンドウ枠のスタイル、フォームのタイトル・バーに表示するテキストなどを設定する。
  Windowsフォームのプロパティを編集するために、Windowsフォーム自体をクリックして選択する。
  Windowsフォームの右下をクリックしてつまみ、それをドラッグして適切なフォーム・サイズに変更する。この画面例では、Labelコントロール内のテキストが適切に見えるように調整している。
  [プロパティ]ウィンドウの「ウィンドウ スタイル」カテゴリの中にある[Opacity]項目(=Opacityプロパティ:透明度)の値を「50%」に変更する。これにより、プログラム実行後のWindowsフォーム画面は半透明な状態となり、背景が少し透けて見えるようになる。
  「ウィンドウ スタイル」カテゴリの中にある[TopMost]項目(=TopMostプロパティ:最上位表示モード)の値を「True」に変更する。これにより、プログラム実行後のWindowsフォーム画面は、常に、デスクトップ上のほかのプログラムよりも手前に表示されるようになる(ほかのプログラムで隠れない)。
  「表示」カテゴリの中にある[FormBorderStyle]項目(=FormBorderStyleプロパティ:Windowsフォームのウィンドウ枠である境界線のスタイル)の値を「FixedToolWindow」に変更する。これにより、プログラム実行後のWindowsフォームは、タイトル・バーのサイズが縮小され、さらに([最大化]ボタンや[最小化]ボタンがない)[閉じる]ボタンしかないフォームになる。なお、「FixedToolWindow」はツール・ウィンドウ(=サブ・ウィンドウ)用のスタイルなので、通常のメイン・ウィンドウで用いるのは適切ではない。本稿では不必要な表示部分であるタイトル・バーを小さくするためにこのスタイルを用いているが、本来の使い方でいうと適切とはいえないので注意すること。
  「表示」カテゴリの中にある[Text]項目(=Textプロパティ:テキスト)の値を「MyClock」に変更する。この値が、タイトル・バーのテキストに表示される。

 最後にWindowsフォーム上にある時刻更新のTimerコンポーネント(「secTimer」オブジェクト)のプロパティを設定しよう。具体的には、次の画面のようにして、時刻表示を更新する間隔(=インターバル)などを設定する。

Timerコンポーネントのプロパティの設定
Timerコンポーネント(「secTimer」オブジェクト)の時刻表示を更新する間隔(=インターバル)などを設定する。
  Timerコンポーネントのプロパティを編集するために、Windowsフォーム・デザイナの下部のコンポーネント領域にあるTimerコンポーネントを選択する。
  [プロパティ]ウィンドウの「動作」カテゴリの中にある[Enabled]項目(=Enabledプロパティ:有効/無効化)の値を「True」に変更する。これにより、Timerコンポーネントが有効になる。Timerコンポーネントの場合、デフォルト状態では無効になっているので注意してほしい。
  同じく「動作」カテゴリの中にある[Interval]項目(=Intervalプロパティ:間隔)の値を「1000」に変更する。これにより、1000ミリ秒(=1秒)ごとのタイマー・イベント(Timerコンポーネントが発行する時間経過を告げるメッセージ)が設定されることになる。

 ここでまたビルドを行おう。今度も、正常にビルドが終了するはずだ。これで、先の設計図で挙げた3つのオブジェクトがすべてそろい、さらにこれらのオブジェクトの外観や動作などの性質情報を設定することができた。

 ここでプログラムを実行しても、意図したように時刻が更新されない(プログラムの実行については、第1回の「生成されたプログラムを動かす」を参照)。この理由は「時刻を更新表示する処理」が実装されていないためである。

 よって次に、この「時刻を更新表示する処理」を実装して、1秒ごとに時刻表示が更新されるようにプログラミングしていこう。


 INDEX
  [フレッシュマン企画 連載]簡単!Visual Studio 2005入門
  第5回 初めてのWindowsアプリケーションの開発
    1.Windowsアプリケーション開発の手順
    2.コントロールやコンポーネントを配置する
  3.クラスやオブジェクトのプロパティ(性質)を変更する
    4.オブジェクトのイベント・ハンドラを追加する
    5.複数の処理を1つのメソッドにまとめるには?

インデックス・ページヘ  「簡単!Visual Studio 2005入門」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間