我有一個richtextbox在c#中,我想使鏈接顯示爲只讀。現在我可以將光標移動到它並進行編輯。有沒有辦法讓它只讀?使鏈接只讀在richtextbox c#
回答
您可以設置一個RichTextBox的這種特性,使整個文本只讀
只讀=真正的
如果你想保護的鏈接僅但保留其他文本編輯,請嘗試插入以下內容,無論是在Form1_Load下還是使用任何可能創建的方法
您需要添加RichTextBox.Find(string str);從對象瀏覽器
MatchCollection mc = Regex.Matches(richTextBox1.Text, @"(www[^ \s]+|http[^ \s]+)([\s]|$)", RegexOptions.IgnoreCase); // Create a new MatchCollection and match from richTextBox1.Text
for (int collection = 0; collection < mc.Count; collection++) // increase collection for every string in mc
{
if (richTextBox1.Find(mc[collection].Value, RichTextBoxFinds.None) > -1) // Find the mc value
{
richTextBox1.SelectionProtected = true; // Protect the value
}
}
所以,形式是這樣的
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;
using System.Text.RegularExpressions;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
MatchCollection mc = Regex.Matches(richTextBox1.Text, @"(www[^ \s]+|http[^ \s]+)([\s]|$)", RegexOptions.IgnoreCase);
for (int collection = 0; collection < mc.Count; collection++)
{
if (richTextBox1.Find(mc[collection].Value, RichTextBoxFinds.None) > -1)
{
richTextBox1.SelectionProtected = true;
}
}
}
}
}
感謝,
有一個偉大的一天:)
非常感謝!這正是我所期待的。 – CodeRunner
@CodeRunner很高興我能幫到你。祝你有美好的一天:) –
您可以像這樣在你的代碼更改:
richTextBox1.ReadOnly = true;
或者你可以去你的設計視圖,檢查您的RichTextBox的屬性和ReadOnly
屬性設置爲true
。
您應該捕獲更改事件,以便您重置用戶想要對鏈接進行的每個更改並將其設置回原始鏈接。保存鏈接的位置並在用戶刪除或添加字符時更新位置。
我想與大家分享我的解決方案。 ..我確實嘗試了我在互聯網上找到的所有東西,但似乎我無法像我想要的那樣準確地獲得100%(使其成爲只讀的Richtexbox)。然後我開始尋找替代品,最終我得到一個完全像我想要的。
有時我們需要在其上顯示樣式的值,這就是爲什麼我們第一次選擇richtextbox,然後當我們無法將其作爲ReadOnly時,它成爲一個問題。不同的是我不再使用richtextbox,但我將其更改爲標籤。根據程序的工作方式,您可能需要有2個控件(richtextbox &標籤)才能保持相同的值,並根據您的要求切換(可見true/false)。
見我的例子在這裏得到一個只讀的RichTextBox看起來很像控制:
<div id="History">
<asp:Label ID="lblLACA27" runat="server" CssClass="ctlLabel"></asp:Label>
</div>
和一塊CSS代碼:
#History
{
height: 100px;
float: left;
overflow: auto;
overflow-x: hidden;
}
持有的標籤DIV標籤會像多行文本框/ richtextbox上可見滾動條。這就是它&讓我們繼續編程。希望這會在稍後幫助別人。
- 1. backcolor只讀richtextbox
- 2. RichTextBox超鏈接
- 3. 鏈接表只讀
- 4. 鏈接點擊RichTextBox
- 5. 只讀在WPF RichTextBox中運行元素?
- 6. 如何在Visual Studio中使用RichTextBox使documents.docx只讀?
- 7. c#richtextbox只顯示一行
- 8. 在WPF Richtextbox中的超鏈接
- 9. 只讀在C#
- 10. C# - 讀特定的線路在RichTextBox
- 11. 滾動到RichTextBox中的塊(只讀)
- 12. WPF INotifyPropertyChanged爲鏈接的只讀屬性
- 13. WebDAV鏈接打開只讀第一次
- 14. TinyMCE只讀 - 鏈接不工作
- 15. 動態添加超鏈接到RichTextBox
- 16. 如何在RichTextBox的超鏈接中使用自己的協議?
- 17. 在Richtextbox中使用導航進行超鏈接
- 18. 如何更換鏈接RichTextBox中(Windows phone)系統,以超鏈接
- 19. 檢測WPF RichTextBox中的超鏈接
- 20. RichTextBox Windows Phone中的超鏈接顏色
- 21. RTF與RichTextBox中的鏈接WPF
- 22. 添加arbitary鏈接RichTextBox控件
- 23. RichTextBox鏈接不做任何事情
- 24. vb 9 net激活richtextbox上的鏈接
- 25. RichTextBox控件,製作非URL超鏈接?
- 26. RichTextBox幫助保存*自定義*鏈接
- 27. 將超鏈接設置爲RichTextBox
- 28. 更改RichTextBox中的鏈接顏色
- 29. 鏈接到Richtextbox中的文件路徑
- 30. 如何使RichTextBox透明以及只讀Silverlight
很不清楚您正在討論哪個RichTextBox類。也許它的SelectionProtected屬性。 –