¿Cómo puedo mostrar el texto en negrita en el cuadro de diálogo que se muestra en MessageBox.Show
, usando C#?Texto en negrita en MessageBox
Respuesta
No se puede hacer. Tendrás que construir tu propia caja. Asumo que esto es WinForms, si es ASP.NET que no estoy calificado para responder.
No puede. Este es un contenedor para la API MessageBoxEx.
Crea tu propio cuadro de mensaje personalizado para hacerlo.
Puede seguir this tutorial, como un ejemplo de cómo implementar uno.
Los pasos básicos de la creación de una forma tal:
- Crear una nueva forma
- Añadir una etiqueta y dos botones
- establecer la fuente etiqueta a Negrita
- añadir manejador de los dos botones, cerrar el formulario y establecer algunas propiedades para las cuales se presionó el botón.
Gracias, ¿pueden sugerir algunos pasos para eso? – Karthick
Lo hizo. El tutorial ;. – bmargulies
yup, incluso agregó algunos pasos básicos como una línea guía. – Amirshk
Es posible, un cuadro de mensaje es una ventana común que puede ser un desastre como cualquier otro. El código para hacerlo es sin embargo un poco arenoso. Añadir una nueva clase a su proyecto y pega este código:
using System;
using System.Text;
using System.Drawing;
using System.Windows.Forms;
using System.Runtime.InteropServices;
class BoldMessageBox : IDisposable {
private int mTries = 0;
private Form mOwner;
private Font mFont;
public BoldMessageBox(Form owner) {
mOwner = owner;
owner.BeginInvoke(new MethodInvoker(findDialog));
}
private void findDialog() {
// Enumerate windows to find the message box
if (mTries < 0) return;
EnumThreadWndProc callback = new EnumThreadWndProc(checkWindow);
if (EnumThreadWindows(GetCurrentThreadId(), callback, IntPtr.Zero)) {
if (++mTries < 10) mOwner.BeginInvoke(new MethodInvoker(findDialog));
}
}
private bool checkWindow(IntPtr hWnd, IntPtr lp) {
// Checks if <hWnd> is a dialog
StringBuilder sb = new StringBuilder(260);
GetClassName(hWnd, sb, sb.Capacity);
if (sb.ToString() != "#32770") return true;
// Got it, get the STATIC control that displays the text
IntPtr hText = GetDlgItem(hWnd, 0xffff);
if (hText != IntPtr.Zero) {
// Get the current font
IntPtr hFont = SendMessage(hText, WM_GETFONT, IntPtr.Zero, IntPtr.Zero);
Font font = Font.FromHfont(hFont);
// And make it bold (note the size change to keep enough space!!)
mFont = new Font(font.FontFamily, font.SizeInPoints - 1f, FontStyle.Bold);
SendMessage(hText, WM_SETFONT, mFont.ToHfont(), (IntPtr)1);
}
// Done
return false;
}
public void Dispose() {
mTries = -1;
mOwner = null;
if (mFont != null) mFont.Dispose();
}
// P/Invoke declarations
private const int WM_SETFONT = 0x30;
private const int WM_GETFONT = 0x31;
private delegate bool EnumThreadWndProc(IntPtr hWnd, IntPtr lp);
[DllImport("user32.dll")]
private static extern bool EnumThreadWindows(int tid, EnumThreadWndProc callback, IntPtr lp);
[DllImport("kernel32.dll")]
private static extern int GetCurrentThreadId();
[DllImport("user32.dll")]
private static extern int GetClassName(IntPtr hWnd, StringBuilder buffer, int buflen);
[DllImport("user32.dll")]
private static extern IntPtr GetDlgItem(IntPtr hWnd, int item);
[DllImport("user32.dll")]
private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp);
}
Y utilizar de esta manera:
private void button1_Click(object sender, EventArgs e) {
using (new BoldMessageBox(this)) {
MessageBox.Show("Nobugz waz here");
}
}
Hay una falla en este enfoque. Después de hacer que la fuente sea negrita, el texto aún debe caber en el control estático que el cuadro de mensaje reserva para el texto. Eso requirió que hiciera la fuente más pequeña. Puede que tenga que ajustar este valor.
A * bit * arenoso ?! :) – Tom
de mensaje extendido NET XMSG .NET web page: more info, download
ajusta sobre la marcha amplia variedad de entornos visuales MessageBox.
Las características ajustables incluyen la fuente y el color del mensaje, los títulos de los botones, fuentes e información sobre herramientas, el fondo del diálogo, la posición del diálogo, el icono del diálogo, el tiempo de espera y más. Según la fuente de mensaje seleccionada, la ventana de diálogo se redimensiona automáticamente para acomodar el mensaje.
Controles adicionales que se pueden mostrar opcionalmente: casilla de verificación, entrada de texto, enlace web, hasta 3 botones adicionales.
En su código .NET todavía llama a MessageBox.Show. Extended MessageBox no es un diálogo hecho a medida. Esto sigue siendo un MessageBox regular con funciones adicionales añadidas.
Sistema operativo compatible: XP, 2000, 2003, 2008 Vista, Win7 - 32 o 64 bits.
Las descargas incluyen una versión de prueba totalmente funcional y una versión regular con el código fuente completo de C#.
- 1. UITextField ¿texto en negrita?
- 2. NPOI crear celda que contiene texto en negrita y negrita
- 3. Dibuje texto en negrita/cursiva con PIL?
- 4. Hacer texto en negrita y cursiva
- 5. negrita cursiva en ReStructuredText
- 6. MigraDoc: cierto texto en negrita en un párrafo
- 7. ¿Cómo mostrar texto en negrita solo en partes de JTextArea?
- 8. Inserte texto en negrita en Word usando VBA
- 9. MessageBox en C#
- 10. Mostrar MessageBox en ASP
- 11. Texto en negrita para un control de tabulación
- 12. Cómo hacer texto en negrita, cursiva y subrayado usando jquery
- 13. ¿Cómo se cambia el texto a negrita en Android?
- 14. hacer que el texto de UILabel negrita
- 15. Hacer una etiqueta en negrita en GTK +
- 16. Botones MessageBox: ¿establecer idioma?
- 17. Cómo hacer un texto en negrita en un cuadro de texto enriquecido C#
- 18. ¿Cómo configuro el texto de un cuadro de texto en negrita en tiempo de ejecución?
- 19. C# - Usar formulario en lugar de messagebox
- 20. C# formatear un MessageBox
- 21. cómo datos en negrita csv en excel?
- 22. androide Messagebox
- 23. Haga que la porción de un texto sea negrita en una Etiqueta o Texto JavaFx
- 24. ¿Cómo se hace algo de texto, dentro de un campo de texto de entrada, en negrita?
- 25. letra cursiva, negrita y subrayada en iPhone
- 26. Establezca el color del texto en un cuadro de texto/etiqueta en rojo y déjelo en negrita en asp.net C#
- 27. ¿Cómo se muestra MessageBox en asp.net?
- 28. ¿Hay un equivalente de MessageBox en WPF?
- 29. ¿Cómo creo un MessageBox en C#?
- 30. Modal MessageBox en la aplicación WPF
Gracias, sugiéralos, es para winforms. – Karthick