2010-09-23 16 views
6

Sto creando un modulo in C# e devo visualizzare il testo sul modulo. Ho bisogno che parte del testo venga visualizzato in un elenco puntato e non ordinato. È possibile farlo mentre usi un'etichetta? O una ricca casella di testo? Non sto utilizzando ASP.NET e questo è per un'applicazione desktop.Aggiungere punti elenco di testo a un modulo C#

Il mio messaggio dovrebbe essere simile a questo:

Per continuare si prega selezionata una delle azioni di seguito:

  • Clicca buttonA di fare questa azione.
  • Fare clic su ButtonB per eseguire questa azione.

Grazie!

risposta

13

solo per aggiungere come un suggerimento per il PO, ho trovato che utilizzando un StringBuilder per creare i messaggi multilinea mi aiuta a mantenere la formattazione rettilineo:

StringBuilder messageBuilder = new StringBuilder(200); 

messageBuilder.Append("To continue, please select one of the actions below:"); 
messageBuilder.Append(Environment.NewLine); 
messageBuilder.Append(Environment.NewLine); 
messageBuilder.Append("\t\u2022 Click Button A to do this action."); 
messageBuilder.Append(Environment.NewLine); 
messageBuilder.Append("\t\u2022 Click Button B to do this action."); 

MessageBox.Show(messageBuilder.ToString()); 
+0

Ho usato questa risposta.Come nota a margine, non ho usato un MessageBox standard poiché ho creato il mio modulo come casella di messaggio personalizzato pseduo. Quando aggiungevo il testo all'etichetta non potevo usare "\ t" e dovevo aggiungere gli spazi manualmente. –

0

Sì, è possibile utilizzare il testo di seguito:

const string text = @"To continue please selected one of the actions below: 

. Click ButtonA to do this action. 
. Click ButtonB to do this action."; 
label1.Text = text; 

È possibile utilizzare caratteri speciali per il proiettile, così come ad esempio *.

2

È possibile utilizzare caratteri ASCII o UniCode e riformattare la stringa per sostituire un carattere di indicatore con il carattere di formattazione.

Diciamo che hai definito la stringa in questo modo:

var myMessage = "To continue please selected one of the actions below: * Click ButtonA to do this action. * Click ButtonB to do this action." 

si potrebbe fare un Regex.Replace che sembrava gli asterischi e convertito in proiettili:

var formattedString = Regex.Replace(myMessage, "\*", "\r\n \u2022"); 

Dal momento che la stringa è stato definito in una riga , inseriamo anche una nuova riga ("\ r \ n").

+1

A String.Replace normale() farà il lavoro altrettanto bene senza la necessità di citare il "*" –

0

È possibile utilizzare un controllo WebBrowser. Cioè .:

WebBrowser webBrowser1 = new WebBrowser(); webBrowser1.DocumentText 1 = "<li>Click ButtonA ...</li><li>Click ButtonB ...</li>"

2

Se si dà un'occhiata alla mappa dei caratteri (Start> Programmi> Accessori> Utilità di sistema> Mappa caratteri), è possibile individuare il "codice" di tasti per la maggior parte dei caratteri.

Per Testo Arial, il "Medio Dot" combinazione di tasti è:

Alt+0183 

Per collocare questo nel testo utilizzando Visual Studio, tenere premuto il tasto Alt durante la digitazione in "0183" sul tastierino numerico (non i tasti sul pad alfa).

Questo dovrebbe darti "·" nel testo.

È così vicino come sono venuto.

Nota che altri caratteri speciali (gradi - Alt + 0176 °, copyright - Alt + 0169 © e molti altri) possono essere inclusi con questa tecnica.

Problemi correlati