c# - las - para que sirve el messenger
Crear un globo emergente como Windows Messenger o AVG (4)
¿Cómo puedo crear un globo emergente como lo vería de Windows Messenger o AVG o Norton o quien sea?
Quiero que muestre la información y luego desaparezca después de unos segundos.
Editar: debe estar bloqueando como Form.ShowDialog () porque el programa se cierra después de mostrar la notificación
El .NET 1.1 Visual Basic Power Pack tenía un control de tostadora.
Es posible que desee consultar este artículo http://www.codeproject.com/KB/miscctrl/RobMisNotifyWindow.aspx que tiene un código para mostrar una ventana de notificación similar a MSN Messenger
No crees un globo modal (de bloqueo). Por favor. Una gran parte del diseño de estas UI es que no son diálogos: son elementos transitorios, potencialmente no interactivos , destinados a proporcionar información incidental a un usuario sin necesariamente interrumpir su flujo de trabajo. Un globo que robe el foco y bloquee la entrada del usuario sería, en el mejor de los casos, irritante; si necesita un diálogo, utilice un cuadro de diálogo.
Puede usar el control notifyIcon que es parte de .NET 2.0 System.Windows.Forms. Eso le permite colocar un ícono para su aplicación en la Bandeja del sistema. Luego, puede llamar al método ShowBalloonTip (int timeOut) sobre eso. Sin embargo, asegúrese de establecer primero el texto y las propiedades del icono en notifyIcon para que funcione. Muestra de código pequeño:
private void button1_Click(object sender, EventArgs e)
{
this.notifyIcon1.BalloonTipText = "Whatever";
this.notifyIcon1.BalloonTipTitle = "Title";
this.notifyIcon1.Icon = new Icon("icon.ico");
this.notifyIcon1.Visible = true;
this.notifyIcon1.ShowBalloonTip(3);
}
EDITAR: Ok, not notifyIcon no funcionará para usted. Mi segunda sugerencia sería crear tu propio control para esto. En realidad, usaría un formulario. Una forma simple, sin bordes, sin cuadro de control y solo tiene un temporizador en ejecución para que pueda configurar la Opacidad para entrada / salida gradual. Luego, puede obtener fácilmente la esquina inferior derecha de la pantalla usando Rectangle Screen.PrimaryScreen.WorkingArea. Entonces simplemente muestre su formulario en esa posición.