2010-03-01 71 views
6

Estoy trabajando en una aplicación para el trabajo y necesito un mensaje personalizado para que aparezca. He creado un formulario simple llamado Alert.cs que he diseñado de la manera que quiero y he agregado un botón con un método de clic de este. Cerrar(). ahora quiero que se comporte exactamente como un messagebox.show() estándar. Tengo el formulario que se muestra pero cuando uso el mensaje message.show estándar ("texto de alerta") espera para continuar la operación hasta que el usuario haga clic en "Aceptar", esto es lo que quiero que haga el formulario.C# - Usar formulario en lugar de messagebox

Respuesta

5

Usted tendrá que poner en práctica un método estático para su clase de alerta si desea que el comportamiento exacto de mensaje similar.

public static DialogResult Show(string text) 
{ 
    Alert form = new Alert(text); 
    return form.ShowDialog(); 
} 

Ahora usted puede utilizar el formulario llamando al:

Alert.Show("my message"); 
+0

¡Justo lo que estaba buscando! Esto me ahorra la necesidad de crear una variable de instancia temporal solo para llamarlo :) – Kaitlyn

11

Use Form.ShowDialog();. Esto permite que la forma actúe de la misma manera que MessageBox en el sentido de que conserva el foco hasta que se cierra.

+0

increíble! Exactamente lo que estaba buscando. ¡Muchas gracias! –

+0

Mi placer. ¡Recuerde marcar como aceptado si lo ayudó! Gracias :) –

+1

Simplemente me gusta agregar. También puede configurar la propiedad DialogResult del formulario para que coincida con la de un cuadro de mensaje. –

0

no se escribe cómo se visualiza actualmente su Formulario de alerta, pero llamar

alert.ShowDialog(); 

en lugar de alert.Show() debe hacer el truco.

El ShowDialog que tiene un propietario es una alternativa aún mejor:

alert.ShowDialog(owner);