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#)の最新記事】
- Replit : cs-list
- C# : Excel の新しいブックのデフォルトのシートのセルに直接値をセットして、オートフィルを Range オブジェクトから実行する
- C#( Form ) : ウインドウ枠の無い吹き出しの作成
- C# のタプル( Visual Studio 2017 でテスト )
- C# : インターネット上の JSON ファイルのフォーマットを クラスとして定義して1行でオブジェクト化して使用する
- C# の文法的文字列処理
- C# : System.Data.Odbc によるデータベースのテーブルからのデータ取得処理( サンプルの SQL は MySQL 用です )
- C# : Excel を データベースとして DataGridView に読み込む
- C# : dynamic 型 による Excel へのアクセス
- Microsoft Access に対してSQLを入力してその結果を DataGridView に表示する最も簡単なコード
- C# : System.Data.Odbc データ取得(SELECT)処理( MySQL ) : ※ using 無し( Dispose 実行 )
- C# : SQL 文を外部テキストにして、String.Format でデータ部分を置き換えて利用する
- C# コンソールアプリを AN HTTPD で実行
- C# : SQLServer( SQLExpress ) の SMO を使用してテーブルの CREATE TABLE 文 を取得する
- C# : DataGridView に TKMP.DLL の IMAP(POP3) で受信したメールを非同期に表示する( 添付ファイルも取得 )
- C# : TKMP.DLLを使った、メール送信テンプレート
- C# と VB.net : TKMP.DLL を使って IMAP でメール本文の一覧を取得する( コンソール )
- C# でDataTable と DataSource を使用して、DataGridView にデータを表示するテンプレート( 行をダブルクリックしてダイアログを表示して行データを処理 )
- (C#) / VS2010 または VS2012 : TKMP.DLL(3.1.2 または 3.1.8)を使った、『さくらインターネット』用メール送信テンプレート
- C# でDXライブラリを使って簡単なシューティングをクラス化して標準化 / メインループとプレイヤー (4)


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




