2010-07-11 2 views
7

C'è un modo per modificare i tipi di carattere in un MessageBox.Show() per ottenere dimensioni più grandi, grassetto, stili corsivo?Font MessageBox.Show()

risposta

5

Si può sempre fare il vostro proprio MessageBox la creazione di una nuova classe Windows.Forms:

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 

namespace MessageBoxFont 
{ 
    public partial class Message : Form 
    { 
     public Message(String text) 
     { 
      InitializeComponent(); 
      tbxMessage.Text = text; 
      btnOK.Focus(); 
     } 

     private void btnOK_Click(object sender, EventArgs e) 
     { 
      this.Close(); 
     } 
    } 
} 

Quindi è possibile controllare le proprietà (come il tipo di carattere, dimensione, colore e simili) mostrato sotto la soluzione explorer. Si inizializza il presente modulo come questo:

 private void OpenMessageBox() 
     { 
      String text = "This is a sample error message"; 
      Message message = new Message(text); 
      message.Show(); 
     } 

E 'un work-around, però, più facile da implementare :)

+0

Questo è quello che mi piace di programmazione. C'è sempre un work-around :) – Tarik

+0

Vero! Finché risolvi il problema, il modo per farlo è quasi infinito :) –

3

Credo che quei caratteri siano controllati dal sistema operativo.

È possibile (tuttavia) creare una finestra di dialogo personalizzata e inserire tutto ciò che si desidera, compresi i caratteri personalizzati.
Questa è la risorsa MSDN per le finestre di dialogo personalizzate.
http://msdn.microsoft.com/en-us/library/2chz8edb(VS.90).aspx

0

hai pensato a qualcosa di simile a una finestra di messaggio personalizzato (www.html-messagebox.com)?

Per ulteriori personalizzazioni come la creazione di una finestra di messaggio di forma irregolare (la testa di Homer Simpson), è meglio creare la propria implementazione simile a MessageBox per il proprio progetto.