yes messageboxicon messageboxbuttons information dialogo cajas c# .net dll message

messageboxicon - messageboxbuttons c#



Mostrar el cuadro de mensaje en la biblioteca dll (2)

Estoy escribiendo una biblioteca dll (por ejemplo, para verificar los datos de inicio de sesión de un usuario) y quiero mostrar un cuadro de diálogo de confirmación o un cuadro de diálogo informativo en el proceso, por ejemplo

"Are you sure you want to continue? (Yes/No/Cancel)"

por alguna razón. Actualmente, necesito esto para una aplicación en Winforms y también quiero usar el mismo dll para mis otras aplicaciones webforms. ¿Alguien puede guiarme para lograrlo? Necesito menos para decir que no quiero hacer referencia a System.Windows.Forms o System.Web . ¿Puede alguien darme algunos consejos? Estoy usando .net 4.0

No quiero publicar / suscribir eventos ya que no estoy muy familiarizado con la arquitectura de la cabina.

EDITAR

Tengo una DLL para crear una base de datos en el tiempo de ejecución de una aplicación. Entonces mi dll generalmente verifica si la base de datos ya existe y está actualizada o no, si es que se detiene. Pero si no existe o no está actualizado, entonces quiero preguntarle al usuario si quiere actualizarlo ahora o después. Si el usuario dice ahora, actualícelo y, luego, continúe con la aplicación. Es solo un ejemplo y cualquier información relevante sobre esto es bienvenida.

Gracias.


Para lograr esto, debe hacer clic derecho en el proyecto y seleccionar "Agregar referencia", luego seleccionar la pestaña ".NET" y hacer clic en "System.Windows.Forms". Entonces esto debería funcionar dentro del .dll:

System.Windows.Forms.MessageBox.Show("Hello World!");

Por supuesto, esta es una mala idea para el póster original (tal como lo cubre CodeCaster).


Realmente no deberías. Esto no pertenece a una biblioteca, pero debe hacerse en la aplicación que utiliza esta biblioteca.

Donde una aplicación WinForms podría resolverlo mostrando un MessageBox , una aplicación web podría realizar la solicitud sin preguntar después de un POST exitoso (dado que un POST generalmente muestra la intención de modificar un recurso).

Cuando, por ejemplo, su biblioteca se utiliza para iniciar sesión, simplemente genere una AuthenticationException , de modo que la aplicación cliente (ya sea WinForms, web o lo que sea) pueda detectar eso y mostrar el mensaje apropiado.

En cuanto a tu edición:

Tengo un dll para crear una base de datos en el tiempo de ejecución de una aplicación ...

¿Por qué no exponer dos métodos como IsDatabaseUpToDate() y UpdateDatabase() ? Luego, en el cliente, puede llamar al primer método. Si devuelve falso, le preguntará al usuario (ya sea con un MessageBox, un formulario HTML, una alerta de JavaScript, un simple botón Sí o un mosaico parpadeante) si desean actualizar la base de datos. Si es así, llama al método UpdateDatabase() y ya está listo para UpdateDatabase() .