本文在http://blog.csdn.net/greystar/archive/2008/03/13/2175958.aspx此基础上进行了扩展.
当在richtextbox中我们插入一个链接时,如果链接是文件路径时(如C:\aa\bb.doc)时,\符号会丢失.这样如果我们想在些连接上单击时,获取的数据就不正确.
public void InsertLink(string text, string hyperlink, int position)
{
if (position < 0 || position > this.Text.Length)
throw new ArgumentOutOfRangeException("position");
this.SelectionStart = position;
// this.SelectedRtf = @"{\rtf1\ansi " + text + @"\v #" + hyperlink + @"\v0}"; //会出现中文乱码情况, this.SelectedRtf = @"{\rtf1\ansicpg936 " + TextToRtf(text) + @"\v #" + hyperlink + @"\v0}";
this.Select(position, text.Length + hyperlink.Length + 1);
this.SetSelectionLink(true);
this.Select(position + text.Length + hyperlink.Length + 1, 0);
}
//路径处理时用
public string TextToRtf(string AText)
{
string vReturn = "";
foreach (char vChar in AText)
{
switch (vChar)
{
case '\\':
vReturn += @"\\";
break;
case '{':
vReturn += @"\{";
break;
case '}':
vReturn += @"\}";
break;
default:
if (vChar > (char)127)
vReturn += @"\u" + ((int)vChar).ToString() + "?";
else vReturn += vChar;
break;
}
}
return vReturn;
}
此文上和http://blog.csdn.net/greystar/archive/2008/03/13/2175958.aspx差不多,只是多了一个转换
分享到:
相关推荐
在.NET Framework中,`RichTextBox`控件是一个常用的文本编辑组件,它...这种扩展不仅限于文本样式,还可以涵盖链接的其他交互行为,如鼠标悬停效果、右键菜单等,让`RichTextBox`在处理富文本时变得更加灵活和强大。
在"在richtextbox中生成表格"这个主题中,我们将探讨如何利用C#在`RichTextBox`中创建和操作RTF表格。 首先,让我们理解RTF的基本结构。RTF是一种跨平台的文本格式,通过特殊的控制字和控制符号来描述文本的样式和...
本教程将围绕"richtextbox读取txt文件"这个主题,详细介绍如何在WinForm应用中实现这一功能。 1. **创建WinForm项目** 首先,你需要在Visual Studio中创建一个新的C# Windows Forms应用程序项目。在设计视图中,从...
`InsertFileContent`方法是用来插入文件内容到`RichTextBox`的。对于文本文件,我们可以简单地读取文件内容并追加到`RichTextBox`的文档中: ```csharp private void InsertFileContent(string filePath) { if ...
本文将深入探讨`RichTextBox`的用法以及如何处理RTF(Rich Text Format)文件和普通文本文件的导入。 1. `RichTextBox`控件基础: `RichTextBox`是.NET Framework中的一个控件,属于Windows Forms或WPF(Windows ...
注意,为了防止程序崩溃,我们在读取文件时使用了`try-catch`结构来处理可能出现的异常,例如文件不存在或权限不足等。 至此,你已经掌握了如何在C#的`RichTextBox`控件中实现拖放文件并显示文件名和内容的基本步骤...
' 获取并打印RichTextBox中选定的RTF内容 Print #1, RichTextBox1.SelRTF ' 关闭文件流 Close #1 ``` 虽然`SaveFile`方法提供了一种快速保存文本的方式,但如果你需要进行更复杂的操作,比如添加自定义头部信息、...
在`DragDrop`事件处理程序中,你可以获取拖放的文件列表,并读取第一个文件的内容,然后将其插入到`RichTextBox`中。 ```csharp private void richTextBox1_DragDrop(object sender, DragEventArgs e) { ...
`RichTextBox`控件能够处理RTF格式的文本,RTF语法中包含用于创建表格的指令。例如,以下代码表示创建一个2行3列的表格: ``` Dim rtfTable As String = "{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033{...
然而,在某些特定场景下,我们可能希望隐藏`richtextbox`中的光标,使其在用户交互时不再显示闪烁的插入点。这通常是为了实现诸如静态展示富文本或者避免用户误操作的需求。以下是如何在C# WinForm应用程序中实现这...
当需要让用户从本地计算机选择一个文件时,`OpenFileDialog`派上用场。通过调用其`ShowDialog`方法,系统会弹出一个标准的文件打开对话框。用户可以选择一个文件,然后通过`FileName`属性获取所选文件的路径。这样...
3. **解析和插入超链接**:在插入超链接时,我们需要将中文文本和URL转换为RTF格式,并在`RichTextBox`中插入。这可能涉及到对RTF格式的深入理解,包括插入控制词、转义字符等。 4. **检测和响应超链接**:在`...
在处理文本时,要考虑一些特殊情况,比如关键字出现在单词内部或字符串中,以及关键字前后是否有特殊字符等问题。可以使用正则表达式来帮助匹配关键字,提高匹配的准确性。 5. **优化性能** 对于大量文本,直接...
在实际项目中,`RichTextBox`常用于创建简单的文本编辑器、日志查看器、配置文件编辑界面等。通过`RichTextBoxTest`这样的项目,开发者可以学习到如何将这些功能整合到自己的应用中,提供给用户更丰富的文本编辑体验...
在C#编程中,文本文件处理是常见的任务之一,它涉及到读取、写入和编辑文本数据。同时,`RichTextBox`控件是Windows Forms应用程序中用于显示和编辑富文本内容的重要工具。本文将深入探讨如何使用C#操作文本文件,并...
这个“带超链接的RICHTEXTBOX”是一个特别定制的控件,它允许用户在文本中插入和识别超链接,同时当鼠标悬停在超链接上时,鼠标指针会变为小手形状,以提示用户可以点击。 实现这个功能的关键在于处理`RichTextBox`...
如何最简单在C#中,richTextBox,控件,中放入图片 如何最简单在C#中,richTextBox,控件,中放入图片 如何最简单在C#中,richTextBox,控件,中放入图片 如何最简单在C#中,richTextBox,控件,中放入图片 如何最...
下面是一个简单的示例代码,展示了如何在 RichTextBox 控件中插入超链接,并且当用户点击这些超链接时,能够通过默认浏览器打开对应的网页。 ```csharp public partial class Form1 : Form { public Form1() { ...
在RichTextBox中插入图片主要涉及两个步骤:首先,将图片转换为适合RTF格式的代码;然后,将这个代码插入到RichTextBox的文本中。RTF是一种用于存储格式化文本和图形的数据格式,它使用特殊的控制序列来表示文本格式...