SQLの窓

2019年08月12日


C# : フォームを表示せずに、通知領域にアイコンを表示させる常駐プログラム



Form を非表示にするには、Application.Run() にフォームのインスタンスを渡さずに実行します

using System;
using System.Windows.Forms;

namespace HideFormApp
{
	static class Program
	{
		/// <summary>
		/// アプリケーションのメイン エントリ ポイントです。
		/// </summary>
		[STAThread]
		static void Main()
		{
			Application.EnableVisualStyles();
			Application.SetCompatibleTextRenderingDefault(false);
			Form1 form = new Form1();
			Application.Run();
		}
	}
}


終了できるように、アイコンを用意してメニューを登録します


using System;
using System.ComponentModel;
using System.Drawing;
using System.Reflection;
using System.Windows.Forms;

namespace HideFormApp
{
	public partial class Form1 : Form
	{

		private ContextMenu contextMenu;
		private MenuItem menuItem;
		private NotifyIcon notifyIcon;

		public Form1()
		{
			InitializeComponent();
			initClass();
		}

		private void initClass()
		{
			contextMenu = new ContextMenu();
			menuItem = new MenuItem();

			contextMenu.MenuItems.Add(menuItem);
			menuItem.Text = "終了";
			// 終了処理
			menuItem.Click += (Object sender, EventArgs e) => {
				notifyIcon.Visible = false;
				notifyIcon.Dispose();
				// プログラム終了
				Application.Exit();

			};

			// NotifyIcon : 通知領域にアイコンを作成するコンポーネント
			notifyIcon = new NotifyIcon(new Container());
			notifyIcon.Icon = new Icon(@"Resources\Icon1.ico");
			notifyIcon.Text = "lightbox";
			notifyIcon.Visible = true;
			// メニューをセット
			notifyIcon.ContextMenu = contextMenu;
		}

	}
}


Resources\Icon1.ico は、実行ファイルのある場所にコピーしたものです



【VS(C#)の最新記事】
posted by lightbox at 2019-08-12 20:09 | VS(C#) | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり