2010-09-23 65 views
6

我在C#中創建表單並需要在表單上顯示文本。我需要將一些文本顯示在無序列表中。使用標籤時可以這樣做嗎?或者一個富文本框?我不使用ASP.NET,而是用於桌面應用程序。向C#表單添加文本項目符號

我的消息應該是這樣的:

要繼續,請選擇下列操作之一:

  • 點擊按鈕a做這個動作。
  • 單擊ButtonB來執行此操作。

謝謝!

回答

13

我想補充的建議到OP,我發現,使用StringBuilder構建多行的消息幫助我保持筆直的格式:

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

我用這個答案。作爲附註,我沒有使用標準的MessageBox,因爲我創建了自己的表單作爲pseduo自定義消息框。向標籤添加文本時,我無法使用'\ t',而必須手動添加空格。 – 2010-09-24 14:08:33

0

是的,你可以使用下面的文字:

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; 

您可以使用特殊字符的子彈,以及諸如*。

2

您可以使用ASCII或UniCode字符,並重新格式化您的字符串以用格式化字符替換標記字符。

說你定義你的字符串,像這樣:

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

你能做到這找星號,並轉換爲子彈Regex.Replace:

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

由於字符串是在一行中所定義,我們還添加了換行符(「\ r \ n」)。

+1

正常與string.replace()將做工作,而不需要引用「*」 – 2010-09-23 21:27:21

0

您可以使用WebBrowser控件。即:

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

2

如果你看一看字符映射(開始>程序>附件>系統工具>字符映射表),你可以找到大多數字符按鍵「代碼」。

Arial字體的文本中,「中間點」組合鍵是:

Alt+0183 

要使用Visual Studio把這個在你的文本,按住Alt鍵的同時在數字鍵盤上鍵入「0183」(而不是alpha pad上的鍵)。

這應該給你「·」在你的文字。

這和我來的時間差不多。

請注意,此技術可以包含其他特殊字符(度數 - Alt + 0176°,版權 - Alt + 0169©和其他許多)。