我在Visual Studio中有兩個關於C#的簡單快速問題。首先,是否有類似標籤的內容,但對於程序中的文本區域?我想在我的程序中有多行文本,但似乎只能在打開WordWrap的DotNetBar標籤上完成。文字區域和超鏈接?
其次,有沒有辦法在文本中間有一個超鏈接而不使用鏈接標籤?如果我想生成文本如「有更新可用,請訪問http://example.com下載它!」,是否可以使鏈接可點擊而不必在文本中間放置鏈接標籤?
我在Visual Studio中有兩個關於C#的簡單快速問題。首先,是否有類似標籤的內容,但對於程序中的文本區域?我想在我的程序中有多行文本,但似乎只能在打開WordWrap的DotNetBar標籤上完成。文字區域和超鏈接?
其次,有沒有辦法在文本中間有一個超鏈接而不使用鏈接標籤?如果我想生成文本如「有更新可用,請訪問http://example.com下載它!」,是否可以使鏈接可點擊而不必在文本中間放置鏈接標籤?
您可以使用一個LinkLabel並設置其屬性LinkArea:
//LinkArea (start index, length)
myLinkLabel.LinkArea = new LinkArea(37, 18);
myLinkLabel.Text = "An update is available, please visit http://example.com to download it!";
以上會使http://example.com
而在正常的文本的其餘部分的鏈接。
編輯回答評論: 有各種處理鏈接的方法。一種方法是給鏈接一個描述(URL),然後使用Process.Start啓動URL。
myLinkLabel.LinkArea = new System.Windows.Forms.LinkArea(37, 18);
myLinkLabel.LinkClicked += new LinkLabelLinkClickedEventHandler(myLinkLabel_LinkClicked);
myLinkLabel.Text = "An update is available, please visit http://example.com to download it!";
myLinkLabel.Links[0].Description = "http://example.com";
且事件處理程序可以閱讀說明,並推出網站:
void myLinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
Process.Start(e.Link.Description);
}
謝謝,當我點擊它時鏈接不工作。另外,你可以更新答案,包括我可以,正如kishorejangid所說,將autoresize屬性設置爲false以使其多行。 – mowwwalker 2012-01-01 04:41:13
更新了答案。 – keyboardP 2012-01-01 04:47:23
我假設你正在使用做一個Windows應用程序,而不是一個Web應用程序。
在C#中,您可以通過將它拖放到窗體上來創建一個常規文本框,將其屬性更改爲多行,並將其設置爲只讀。多數民衆贊成我總是這樣做。
至於沒有linklabel添加鏈接到文本。有一種方法可以添加鏈接到文本框。您可以在http://www.codeproject.com/KB/miscctrl/LinkTextBox.aspx/
查看一個相當不錯的教程您可以使用正常標籤並將AutoSize
屬性設置爲false。 然後調整你的寬度和高度它會自動包裹它
你可以試試RichTextBox
控制。
string text = "This is the extract of text located at http://www.google.com and http://www.yahoo.com";
richTextBox1.Text = text;
richTextBox1.ReadOnly = true;
richTextBox1.LinkClicked += (sa, ea) =>
{
System.Diagnostics.Process.Start(ea.LinkText);
};
謝謝,但我不希望richtextbox具有白色背景,我不能將其更改爲透明。 – mowwwalker 2012-01-01 04:42:14
@Walkerneo - 是不能更改透明。設置richTextBox1.BackColor = this.BackColor; (家長控制背景) – adatapost 2012-01-01 04:50:54
Web應用程序? Windows應用程序? – 2012-01-01 04:05:00