`
javababy1
  • 浏览: 1219074 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

richtextbox中插入文件路径链接时出错的处理

阅读更多

本文在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差不多,只是多了一个转换

分享到:
评论

相关推荐

    RichTextBox控件 支持插入自定义超链接

    在.NET Framework中,`RichTextBox`控件是一个常用的文本编辑组件,它...这种扩展不仅限于文本样式,还可以涵盖链接的其他交互行为,如鼠标悬停效果、右键菜单等,让`RichTextBox`在处理富文本时变得更加灵活和强大。

    C# 在richtextbox中生成表格

    在"在richtextbox中生成表格"这个主题中,我们将探讨如何利用C#在`RichTextBox`中创建和操作RTF表格。 首先,让我们理解RTF的基本结构。RTF是一种跨平台的文本格式,通过特殊的控制字和控制符号来描述文本的样式和...

    richTextBox读取txt文件.zip

    本教程将围绕"richtextbox读取txt文件"这个主题,详细介绍如何在WinForm应用中实现这一功能。 1. **创建WinForm项目** 首先,你需要在Visual Studio中创建一个新的C# Windows Forms应用程序项目。在设计视图中,从...

    WPF中RichTextBox对文件拖拽的支持(已解决)

    `InsertFileContent`方法是用来插入文件内容到`RichTextBox`的。对于文本文件,我们可以简单地读取文件内容并追加到`RichTextBox`的文档中: ```csharp private void InsertFileContent(string filePath) { if ...

    RichTextBox用法,RTF文件,rtf,文本文件导入RichTextBox

    本文将深入探讨`RichTextBox`的用法以及如何处理RTF(Rich Text Format)文件和普通文本文件的导入。 1. `RichTextBox`控件基础: `RichTextBox`是.NET Framework中的一个控件,属于Windows Forms或WPF(Windows ...

    C# RichTextBox拖放文件并显示文件名和文件内容

    注意,为了防止程序崩溃,我们在读取文件时使用了`try-catch`结构来处理可能出现的异常,例如文件不存在或权限不足等。 至此,你已经掌握了如何在C#的`RichTextBox`控件中实现拖放文件并显示文件名和内容的基本步骤...

    C#如何在RichTextBox中以拖放的形式打开文件(源码)

    在`DragDrop`事件处理程序中,你可以获取拖放的文件列表,并读取第一个文件的内容,然后将其插入到`RichTextBox`中。 ```csharp private void richTextBox1_DragDrop(object sender, DragEventArgs e) { ...

    RichTextbox 添加表格与打印

    `RichTextBox`控件能够处理RTF格式的文本,RTF语法中包含用于创建表格的指令。例如,以下代码表示创建一个2行3列的表格: ``` Dim rtfTable As String = "{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033{...

    winform中去掉richtextbox中的光标

    然而,在某些特定场景下,我们可能希望隐藏`richtextbox`中的光标,使其在用户交互时不再显示闪烁的插入点。这通常是为了实现诸如静态展示富文本或者避免用户误操作的需求。以下是如何在C# WinForm应用程序中实现这...

    文本文件与RichTextBox,openFileDialog,saveFileDialog的应用,C#源代码

    当需要让用户从本地计算机选择一个文件时,`OpenFileDialog`派上用场。通过调用其`ShowDialog`方法,系统会弹出一个标准的文件打开对话框。用户可以选择一个文件,然后通过`FileName`属性获取所选文件的路径。这样...

    RichTextBox控件扩展支持中文超链接

    3. **解析和插入超链接**:在插入超链接时,我们需要将中文文本和URL转换为RTF格式,并在`RichTextBox`中插入。这可能涉及到对RTF格式的深入理解,包括插入控制词、转义字符等。 4. **检测和响应超链接**:在`...

    vb中如何如何把richtextbox.text中的内容保存为txt文件

    ' 获取并打印RichTextBox中选定的RTF内容 Print #1, RichTextBox1.SelRTF ' 关闭文件流 Close #1 ``` 虽然`SaveFile`方法提供了一种快速保存文本的方式,但如果你需要进行更复杂的操作,比如添加自定义头部信息、...

    在RichTextBox中实现关键字高亮显示

    在处理文本时,要考虑一些特殊情况,比如关键字出现在单词内部或字符串中,以及关键字前后是否有特殊字符等问题。可以使用正则表达式来帮助匹配关键字,提高匹配的准确性。 5. **优化性能** 对于大量文本,直接...

    RichTextBox

    在实际项目中,`RichTextBox`常用于创建简单的文本编辑器、日志查看器、配置文件编辑界面等。通过`RichTextBoxTest`这样的项目,开发者可以学习到如何将这些功能整合到自己的应用中,提供给用户更丰富的文本编辑体验...

    C# 文本文件与RichTextBox

    在C#编程中,文本文件处理是常见的任务之一,它涉及到读取、写入和编辑文本数据。同时,`RichTextBox`控件是Windows Forms应用程序中用于显示和编辑富文本内容的重要工具。本文将深入探讨如何使用C#操作文本文件,并...

    如何最简单在C#中的richTextBox控件中放入图片

    如何最简单在C#中,richTextBox,控件,中放入图片 如何最简单在C#中,richTextBox,控件,中放入图片 如何最简单在C#中,richTextBox,控件,中放入图片 如何最简单在C#中,richTextBox,控件,中放入图片 如何最...

    带超链接的RICHTEXTBOX

    这个“带超链接的RICHTEXTBOX”是一个特别定制的控件,它允许用户在文本中插入和识别超链接,同时当鼠标悬停在超链接上时,鼠标指针会变为小手形状,以提示用户可以点击。 实现这个功能的关键在于处理`RichTextBox`...

    richtextbox中写入图片

    在RichTextBox中插入图片主要涉及两个步骤:首先,将图片转换为适合RTF格式的代码;然后,将这个代码插入到RichTextBox的文本中。RTF是一种用于存储格式化文本和图形的数据格式,它使用特殊的控制序列来表示文本格式...

    VB.net打印RichTextBox中内容

    ### VB.NET 打印 RichTextBox 中的内容 在 VB.NET 中,打印 `RichTextBox` 控件中的文本是一项常见的需求。本文将详细介绍如何实现这一功能,并解释所给代码片段中涉及的关键概念和技术要点。 #### 1. 引入必要的...

Global site tag (gtag.js) - Google Analytics