.NET TIPS

C#でアプリケーション起動時に実行されるフォームを変更するには?

デジタルアドバンテージ
2004/08/20

 「TIPS:VB.NETでアプリケーション起動時に実行されるフォームを変更するには?」では、Visual Basic .NET(以下VB.NET)で複数のフォームを持つWindowsアプリケーションを作成した場合に、アプリケーション実行時に最初に表示されるフォームを切り替える方法を紹介した。本稿では、これと同じことをC#で行う場合の方法について解説する。

 なお本稿では、起動時に実行されるWindowsフォームのクラスを切り替えているが、Windowsフォーム以外のクラスでも同様のことを実現できる。例えばコンソール・アプリケーションでも、起動時に実行するクラスを切り替えることなども可能である。

 本稿のサンプル・プログラムでは、赤い背景のウィンドウ(Form1クラス)と青い背景のウィンドウ(Form2クラス)という2つのWindowsフォームを持つWindowsアプリケーションを作成する。そして、このForm1クラスとForm2クラスのそれぞれのコードに、次のサンプル・コードのように「Mainメソッド」(=エントリ・ポイント)を追加しておく。

using System;
using System.Windows.Forms;

namespace WindowsApplication1
{
  public class Form1 : System.Windows.Forms.Form
  {
    // エントリ・ポイント(1)
    [STAThread]
    static void Main()
    {
      Application.Run(new Form1());
    }

    public Form1()
    {
      // ウィンドウの背景を赤色に設定
      this.BackColor = System.Drawing.Color.Red;
    }
  }

  public class Form2 : System.Windows.Forms.Form
  {
    // エントリ・ポイント(2)
    [STAThread]
    static void Main()
    {
      Application.Run(new Form2());
    }

    public Form2()
    {
      // ウィンドウの背景を青色に設定
      this.BackColor = System.Drawing.Color.Blue;
    }
  }
}
2つのWindowsフォームを持つアプリケーションのソース・コード(C#)
赤い背景のウィンドウであるForm1クラスと、青い背景のウィンドウであるForm2クラスのそれぞれのコードに、Mainメソッドを追加しておく。

 後はVB.NETの場合と同じように[プロジェクトのプロパティ ページ]ダイアログを開いて、次の画面のように、[スタートアップ オブジェクト]項目に起動時に表示したいWindowsフォームのクラスを指定するだけだ。

起動時に表示するフォームの設定([プロジェクトのプロパティ ページ]ダイアログ)
[プロジェクトのプロパティ ページ]ダイアログを開き、ダイアログの中にある[スタートアップ オブジェクト]で任意のクラスをリストから選択して指定する。この指定により、起動時に表示するフォームを切り替えることができる。[プロジェクトのプロパティ ページ]ダイアログを開くには、ソリューション・エクスプローラ上で、フォームを含んでいるプロジェクトをマウスにより選択し、右クリックして表示されるメニューから[プロパティ]を選択すればよい。
  ツリー表示の中から[共通プロパティ]−[全般]を選択する。
  [アプリケーション]項目の[スタートアップ オブジェクト]で、起動時に表示するWindowsフォームのクラスを選択する。

 [スタートアップ オブジェクト]に「WindowsApplication1.Form1」クラスを指定した場合には、次の画面のように赤いウィンドウ(=Form1クラスのWindowsフォーム)が表示される。

アプリケーション起動時に表示されるウィンドウ(Form1クラスの場合)
[スタートアップ オブジェクト]に「WindowsApplication1.Form1」クラスを指定した場合には、赤いウィンドウが表示される。

 また、[スタートアップ オブジェクト]に「WindowsApplication1.Form2」クラスを指定した場合には、次の画面のように青いウィンドウ(=Form2クラスのWindowsフォーム)が表示される。

アプリケーション起動時に表示されるウィンドウ(Form2クラスの場合)
[スタートアップ オブジェクト]に「WindowsApplication1.Form2」クラスを指定した場合には、青いウィンドウが表示される。

 なお、[スタートアップ オブジェクト]として指定するクラスには、アプリケーションが最初に実行されるエントリ・ポイント(つまり「Mainメソッド」)が必要である。このMainメソッドが記述されていないと、[スタートアップ オブジェクト]の項目選択リストに列挙されないので注意が必要である。End of Article

カテゴリ:Visual Studio .NET 処理対象:プロジェクト
カテゴリ:C# 処理対象:フォーム
使用キーワード:Mainメソッド
関連TIPS:VB.NETでアプリケーション起動時に実行されるフォームを変更するには?
 
この記事と関連性の高い別の.NET TIPS
VB.NETでアプリケーション起動時に実行されるフォームを変更するには?
WPF:Mainメソッドを書き変えるには?[C#/VB]
起動時にタスクトレイのアイコンのみを表示するには?
Windowsフォームで簡単に画像を表示するには?
コマンドライン引数を取得するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」

@IT Special

- PR -

TechTargetジャパン

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メールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る

ホワイトペーパーTechTargetジャパン

注目のテーマ

Insider.NET 記事ランキング

本日 月間
ソリューションFLASH