cuál es su opinión para crear algo así
su icono llamada bandeja
para que el usuario pueda close all forms
y la app still running
,, y user can go back to app any time
vamos a empezar la codificación (tenga en cuenta que esta es la aplicación 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
};
}
y tenemos estas funciones
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);
}
y en Window Closing
detector de eventos (no olvide añadirlo)
private void Window_Closing(object sender, CancelEventArgs e)
{
if (_ForceClose == false)
{
e.Cancel = true;
Minimize();
}
}
eso es todo, espero que le ayude
Está este winforms o wpf? Y no es un problema de enhebrar, sino más bien un problema de qué es "esto" en el ámbito en el que lo está utilizando con mayor probabilidad. El código ayudará –
posible duplicado de [Cerrar un formulario y luego llamar a otro.] (Http://stackoverflow.com/questions/2751076/closing-a-form-and-then-call-another-one) –
No lo he hecho mucho con winforms, pero solo para verificar, está creando su pantalla de inicio de sesión con la ventana principal ya que es principal, ¿no? –