2008-10-24 68 views
20

Estoy usando la clase MessageBox para mostrar los errores a los usuarios, y aunque ese podría no ser el comportamiento correcto, es muy conveniente. Esta es una aplicación de pantalla táctil, sin embargo, así que necesito que el botón 'ok' sea mucho más grande de lo que es (¡maldigan mis dedos desmesuradamente grandes!).MessageBox.Show-- cambio de fuente?

Creo que si aumente el tamaño de la fuente en el cuadro de diálogo, debería estar bien. ¿Hay una manera de hacer eso? O realmente, ¿hay alguna manera de aumentar el tamaño del diálogo?

Gracias

+4

+1 Tengo un problema similar en el que quiero que el texto de varias líneas tenga una fuente de ancho fijo para que la alineación de las palabras no se estropee –

Respuesta

12

Por lo que yo soy consciente de que no puede, como los cuadros de diálogo 'normales' están utilizando la configuración de fuente predeterminada del sistema.

Hacer rodar el suyo es probablemente la mejor manera de avanzar. Es bastante trivial de hacer, ¡y muy divertido! Y puede crear cosas que el diálogo estándar no admite (sin magia de invocación) como centrar en el medio de la pantalla, etc.

+0

bummer, pero creo que tienes razón. ¡Hora de rodar la mía! – mmr

+0

No lo probé, pero apuesto a que puede abrirse paso en el diálogo del cuadro de mensaje a través de WinApi. O tal vez incluso obtener la [clase de ventana] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms633577 (v = vs.85) .aspx) y cambiar cosas en ella? – Bitterblue

4

Crearía mi propia clase MessageBox para este propósito - ¿quizás BigMessageBox ?. Sería una cuestión de reemplazar MessageBox.Show con BigMessageBox.Show.

Otra alternativa es utilizar los ganchos de Windows para modificar el formulario; echa un vistazo a http://msdn.microsoft.com/en-gb/magazine/cc188920.aspx para ver un ejemplo de .net 1.0. Esto puede ser más fácil en la versión actual, pero no puedo encontrar un ejemplo para ti.

3

Utilice un formulario con un cuadro de texto y dos botones Aceptar, cancelar en él. Use este formulario en lugar de un MessageBox en todo el proyecto. Puede cambiar la fuente, BackColor, multiline, etc. del cuadro de texto sobre la marcha. También puede cambiar el tamaño, el color y la fuente de los botones.

2

Existe una solución: mediante la instalación de un gancho CBT es posible ajustar sobre la marcha gran variedad de ajustes visuales de MessageBox: fuentes de mensaje y botón, fondo de diálogo, posicionamiento de diálogo, iconos, títulos de botones, tiempo de espera, etc.

de mensaje extendido Asamblea .NET http://www.news2news.com/vfp/?solution=5

+0

se ve bien-- pero ya hice mi propia creación desde que escribí esta pregunta. – mmr

1

favor, compruebe mi libertad de utilizar FlexibleMessageBox que puede ser utilizado en lugar del cuadro de mensaje y tiene un (estática) FONT-propiedad.

Saludos, Jörg

0

flexible cuadro de mensaje: Me encanta! La solución perfecta para alinear columnas cuando muestro HEX (usando Courier New).

GRACIAS! :)

Cuestiones relacionadas