2010-09-23 7 views
6

Je crée un formulaire en C# et j'ai besoin d'afficher du texte sur le formulaire. J'ai besoin d'une partie du texte pour apparaître dans une liste à puces non ordonnée. Est-il possible de le faire en utilisant une étiquette? Ou une boîte de texte riche? Je n'utilise pas ASP.NET et c'est pour une application de bureau.Ajouter des puces de texte à un formulaire C#

Mon message devrait ressembler à ceci:

Pour continuer s'il vous plaît sélectionné l'une des actions suivantes:

  • Cliquez boutonA pour faire cette action.
  • Cliquez sur le bouton B pour effectuer cette action.

Merci!

Répondre

13

Juste pour ajouter une suggestion à l'OP, j'ai trouvé que l'utilisation d'un StringBuilder pour construire des messages multi-ligne me permet de garder la forme droite:

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

J'ai utilisé cette réponse.En note, je n'ai pas utilisé un MessageBox standard car j'ai créé mon propre formulaire en tant que boîte de message personnalisée pseduo. Lors de l'ajout de texte à l'étiquette, je ne pouvais pas utiliser '\ t' et je devais ajouter les espaces manuellement. –

0

Oui, vous pouvez utiliser le texte ci-dessous:

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; 

Vous pouvez utiliser des caractères spéciaux pour la balle, ainsi par exemple *.

2

Vous pouvez utiliser des caractères ASCII ou UNICODE et reformater votre chaîne pour remplacer un caractère marqueur avec le caractère de formatage.

Dites que vous avez défini votre chaîne comme ceci:

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

vous pourriez faire un Regex.Replace qui avait l'air d'astérisques et converti en balles:

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

Depuis la chaîne a été définie sur une ligne , nous avons également mis dans une nouvelle ligne ("\ r \ n").

+1

Un String.Replace normal() fera le travail tout aussi bien sans avoir besoin de citer le "*" –

0

Vous pouvez utiliser un contrôle WebBrowser. I.e. .:

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

2

Si vous jetez un oeil à la carte de caractères (Démarrer> Programmes> Accessoires> Outils système> Carte de caractères), vous pouvez localiser la combinaison de touches « code » pour la plupart des caractères.

Pour texte Arial, le « Middle Dot » combinaison de touches est:

Alt+0183 

Pour placer dans votre texte à l'aide de Visual Studio, maintenez la touche Alt tout en tapant « 0183 » sur le pavé numérique (pas les touches sur le pad alpha).

Cela devrait vous donner « · » dans votre texte.

C'est aussi proche que je suis venu.

Notez que d'autres caractères spéciaux (degrés - Alt + 0176 °, copyright - Alt + 0169 ©, et bien d'autres) peuvent être inclus avec cette technique.

Questions connexes