che cosa è la tua opinione per creare qualcosa di simile
sua icona denominata vassoio
modo l'utente può close all forms
e la app still running
,, e user can go back to app any time
lascia iniziare a scrivere codice (nota questa è l'applicazione WPF)
private NotifyIcon m_notifyIcon;
private ContextMenuStrip m_contextMenu;
private bool _ForceClose;
public MainWindow()
{
InitializeComponent();
CreateNotifyIcon();
}
private void CreateNotifyIcon()
{
m_contextMenu = new ContextMenuStrip();
ToolStripMenuItem mI1 = new ToolStripMenuItem { Text = "Open" };
mI1.Click += (sender, args) => Maximize();
ToolStripMenuItem mI2 = new ToolStripMenuItem { Text = "Exit" };
mI2.Click += (sender, args) => EndApplication();
m_contextMenu.Items.Add(mI1);
m_contextMenu.Items.Add(mI2);
//Initalize Notify Icon
m_notifyIcon = new NotifyIcon
{
Text = "Application Title",
Icon = new Icon("Icon.ico"),
//Associate the contextmenustrip with notify icon
ContextMenuStrip = m_contextMenu,
Visible = true
};
}
e abbiamo queste funzioni
protected void Minimize()
{
Hide();
}
protected void Maximize()
{
Show();
this.WindowState =WindowState.Normal;
}
protected void EndApplication()
{
Minimize();
Thread.Sleep(1000);
_ForceClose = true;
WindowState = WindowState.Normal;
this.Close();
Environment.Exit(0);
}
e in Window Closing
listener di eventi (non dimenticate di aggiungerlo)
private void Window_Closing(object sender, CancelEventArgs e)
{
if (_ForceClose == false)
{
e.Cancel = true;
Minimize();
}
}
questo è tutto, spero che ti aiutano
fonte
2016-06-27 09:50:54
Is questo winforms o wpf? E non è un problema di threading, ma piuttosto un problema di cosa "questo" è nello scope che tu stai usando molto probabilmente. Il codice aiuterà. –
possibile duplicato di [Chiudere un modulo e chiamarne un altro.] (Http://stackoverflow.com/questions/2751076/closing-a-form-and-then-call-another-one) –
Non l'ho fatto molto con winforms, ma solo per verificare, si sta creando la schermata di login con la finestra principale come genitore, no? –