.NET TIPS

起動時にタスクトレイのアイコンのみを表示するには?

デジタルアドバンテージ 遠藤 孝信
2006/01/06

 「TIPS:システムトレイ(タスクトレイ)にアイコンを表示するには?」では、Windowsアプリケーションでタスクトレイ・アイコンを表示する方法について解説したが、常駐型のアプリケーションでは、起動時からフォームを表示せずにアイコンのみを表示したい場合がある。本稿ではこの方法について解説する。

Application.Runメソッドの呼び出し部分の変更

 アプリケーションの起動時にフォームが表示されるのは、通常Mainメソッドで実行されるApplication.Runメソッドによるものである。このApplication.Runメソッドは、パラメータで指定されたフォームを表示し、メッセージ・ループを開始する。

 そのため、起動時にフォームを表示させないようにするには、Application.Runメソッドの呼び出し部分を以下のように変更すればよい(この変更は前掲のTIPSで作成したアプリケーションに対して行っていただきたい)。

 まずC#の場合には、自動生成されたコードを次のように変更する。

public class Form1 : System.Windows.Forms.Form
{
  ……
  static void Main()
  {
    new Form1();
    Application.Run();
   
// Application.Run(new Form1()); // 自動生成される元のコード
  }
  ……
起動時にフォームを表示させないようにするための修正(C#の場合)

 VB.NETの場合には、Application.Runメソッドの呼び出しが明示的には実装されないため、以下のようなMainメソッドを追加し、プロジェクトのプロパティで[スタートアップの設定]を変更して、このMainメソッドをアプリケーション起動時に呼び出されるようにする(この方法については「TIPS:VB.NETでアプリケーション起動時に実行されるフォームを変更するには?」を参考にしていただきたい)。

Public Class Form1
  Inherits System.Windows.Forms.Form
  ……
  Shared Sub Main()
    Dim f As New Form1
    Application.Run()
  End Sub
  ……
起動時にフォームを表示させないようにするための追加コード(VB.NETの場合)

 以上の修正により、フォームは生成されるが、表示はされない状態(非表示の状態)としてアプリケーションは実行される。

 なお、前掲のTIPSですでに解説しているが、このアプリケーションを終了させる場合には、Application.Exitメソッドを呼び出す必要がある。End of Article

カテゴリ:Windowsフォーム 処理対象:NotifyIconコンポーネント
カテゴリ:Windowsフォーム 処理対象:タスクトレイ
使用ライブラリ:Applicationクラス(System.Windows.Forms名前空間)
関連TIPS:システムトレイ(タスクトレイ)にアイコンを表示するには?
関連TIPS:VB.NETでアプリケーション起動時に実行されるフォームを変更するには?

この記事と関連性の高い別の.NET TIPS
VB.NETでアプリケーション起動時に実行されるフォームを変更するには?
システムトレイ(タスクトレイ)にアイコンを表示するには?
システムトレイ(タスクトレイ)にアイコンを表示するには?
C#でアプリケーション起動時に実行されるフォームを変更するには?
ほかのアプリケーションを実行してその終了を待つには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


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 記事ランキング

本日 月間