C#パレットプログラムインスタンス表示フォームをダブルクリックし、パレットに最小化
タスクバーをクリックして表示→非表示切り替え、右クリックメニュー、スナップしてフォームを閉じるイベント
public partial class frmMain : Form
{
public frmMain()
{
InitializeComponent();
}
#region
public void Logout()
{
if (MessageBox.Show(" ?", " ", MessageBoxButtons.OKCancel) == DialogResult.OK)
{
notifyIcon1.Visible = false;
FormCollection fc = Application.OpenForms;
if (fc != null && fc.Count > 0)
{
foreach (Form window in fc)
{
window.Hide();
}
}
CacheHelper.CurrentUsrName = "";
CacheHelper.CurrentRoleId = 0;
frmLogin fl = new frmLogin();
fl.Show();
}
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
Logout();
}
#endregion
#region
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
frmChangePwd fcp = new frmChangePwd();
fcp.Show();
}
#endregion
private void frmMain_Load(object sender, EventArgs e)
{
}
private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show(" ?", " ", MessageBoxButtons.OKCancel) == DialogResult.OK)
{
Logout();
}
else
{
e.Cancel = true;
}
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
ShowWin();
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
Logout();
}
private void frmMain_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
HideWin();
}
}
private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
contextMenuStrip1.Show(MousePosition.X, MousePosition.Y);
}
else
{
ShowWin();
}
}
#region
/// <summary>
///
/// </summary>
private void HideWin()
{
this.notifyIcon1.Visible = true;
this.Hide();
}
/// <summary>
///
/// </summary>
private void ShowWin()
{
if (Visible)
{
HideWin();
}
else
{
///// , show state
Show();
WindowState = FormWindowState.Normal;
}
}
#endregion
}