• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > richtextbox控件插入链接代码分享

richtextbox控件插入链接代码分享

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了richtextbox控件,vb richtextbox控件,c richtextbox控件,richtextbox控件下载,richtextbox控件在哪等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

namespace RichTextBoxLinks
{
 public class RichTextBoxEx : RichTextBox
 {
  #region Interop-Defines
  [ StructLayout( LayoutKind.Sequential )]
  private struct CHARFORMAT2_STRUCT
  {
   public UInt32 cbSize;
   public UInt32   dwMask;
   public UInt32   dwEffects;
   public Int32    yHeight;
   public Int32    yOffset;
   public Int32 crTextColor;
   public byte     bCharSet;
   public byte     bPitchAndFamily;
   [MarshalAs(UnmanagedType.ByValArray, SizeConst=32)]
   public char[]   szFaceName;
   public UInt16 wWeight;
   public UInt16 sSpacing;
   public int  crBackColor; // Color.ToArgb() -> int
   public int  lcid;
   public int  dwReserved;
   public Int16 sStyle;
   public Int16 wKerning;
   public byte  bUnderlineType;
   public byte  bAnimation;
   public byte  bRevAuthor;
   public byte  bReserved1;
  }

  [DllImport("user32.dll", CharSet=CharSet.Auto)]
  private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);

  private const int WM_USER    = 0x0400;
  private const int EM_GETCHARFORMAT  = WM_USER+58;
  private const int EM_SETCHARFORMAT  = WM_USER+68;

  private const int SCF_SELECTION = 0x0001;
  private const int SCF_WORD  = 0x0002;
  private const int SCF_ALL  = 0x0004;

  #region CHARFORMAT2 Flags
  private const UInt32 CFE_BOLD  = 0x0001;
  private const UInt32 CFE_ITALIC  = 0x0002;
  private const UInt32 CFE_UNDERLINE = 0x0004;
  private const UInt32 CFE_STRIKEOUT = 0x0008;
  private const UInt32 CFE_PROTECTED = 0x0010;
  private const UInt32 CFE_LINK  = 0x0020;
  private const UInt32 CFE_AUTOCOLOR = 0x40000000;
  private const UInt32 CFE_SUBSCRIPT = 0x00010000;  /* Superscript and subscript are */
  private const UInt32 CFE_SUPERSCRIPT= 0x00020000;  /*  mutually exclusive    */

  private const int CFM_SMALLCAPS  = 0x0040;   /* (*) */
  private const int CFM_ALLCAPS  = 0x0080;   /* Displayed by 3.0 */
  private const int CFM_HIDDEN  = 0x0100;   /* Hidden by 3.0 */
  private const int CFM_OUTLINE  = 0x0200;   /* (*) */
  private const int CFM_SHADOW  = 0x0400;   /* (*) */
  private const int CFM_EMBOSS  = 0x0800;   /* (*) */
  private const int CFM_IMPRINT  = 0x1000;   /* (*) */
  private const int CFM_DISABLED  = 0x2000;
  private const int CFM_REVISED  = 0x4000;

  private const int CFM_BACKCOLOR  = 0x04000000;
  private const int CFM_LCID   = 0x02000000;
  private const int CFM_UNDERLINETYPE = 0x00800000;  /* Many displayed by 3.0 */
  private const int CFM_WEIGHT  = 0x00400000;
  private const int CFM_SPACING  = 0x00200000;  /* Displayed by 3.0 */
  private const int CFM_KERNING  = 0x00100000;  /* (*) */
  private const int CFM_STYLE   = 0x00080000;  /* (*) */
  private const int CFM_ANIMATION  = 0x00040000;  /* (*) */
  private const int CFM_REVAUTHOR  = 0x00008000;


  private const UInt32 CFM_BOLD  = 0x00000001;
  private const UInt32 CFM_ITALIC  = 0x00000002;
  private const UInt32 CFM_UNDERLINE = 0x00000004;
  private const UInt32 CFM_STRIKEOUT = 0x00000008;
  private const UInt32 CFM_PROTECTED = 0x00000010;
  private const UInt32 CFM_LINK  = 0x00000020;
  private const UInt32 CFM_SIZE  = 0x80000000;
  private const UInt32 CFM_COLOR  = 0x40000000;
  private const UInt32 CFM_FACE  = 0x20000000;
  private const UInt32 CFM_OFFSET  = 0x10000000;
  private const UInt32 CFM_CHARSET = 0x08000000;
  private const UInt32 CFM_SUBSCRIPT = CFE_SUBSCRIPT | CFE_SUPERSCRIPT;
  private const UInt32 CFM_SUPERSCRIPT= CFM_SUBSCRIPT;

  private const byte CFU_UNDERLINENONE  = 0x00000000;
  private const byte CFU_UNDERLINE   = 0x00000001;
  private const byte CFU_UNDERLINEWORD  = 0x00000002; /* (*) displayed as ordinary underline */
  private const byte CFU_UNDERLINEDOUBLE  = 0x00000003; /* (*) displayed as ordinary underline */
  private const byte CFU_UNDERLINEDOTTED  = 0x00000004;
  private const byte CFU_UNDERLINEDASH  = 0x00000005;
  private const byte CFU_UNDERLINEDASHDOT  = 0x00000006;
  private const byte CFU_UNDERLINEDASHDOTDOT = 0x00000007;
  private const byte CFU_UNDERLINEWAVE  = 0x00000008;
  private const byte CFU_UNDERLINETHICK  = 0x00000009;
  private const byte CFU_UNDERLINEHAIRLINE = 0x0000000A; /* (*) displayed as ordinary underline */

  #endregion

  #endregion

  public RichTextBoxEx()
  {
   // Otherwise, non-standard links get lost when user starts typing
   // next to a non-standard link
   this.DetectUrls = false;
  }

  [DefaultValue(false)]
  public new bool DetectUrls
  {
   get { return base.DetectUrls; }
   set { base.DetectUrls = value; }
  }

  /// <summary>
  /// Insert a given text as a link into the RichTextBox at the current insert position.
  /// </summary>
  /// <param name="text">Text to be inserted</param>
  public void InsertLink(string text)
  {
   InsertLink(text, this.SelectionStart);
  }

  /// <summary>
  /// Insert a given text at a given position as a link.
  /// </summary>
  /// <param name="text">Text to be inserted</param>
  /// <param name="

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#实现winform中RichTextBox在指定光标位置插入图片的方法
  • C#中richtextbox使用方法详解
  • richtextbox控件插入链接代码分享

相关文章

  • 2017-05-28C#从命令行读取参数的方法
  • 2017-05-28c#哈希算法的实现方法及思路
  • 2017-05-28C# 当前系统时间获取及时间格式详解
  • 2017-05-28C#读取二进制文件方法分析
  • 2017-05-28C# Main方法的传入参数研究
  • 2017-05-28详解C# TimeSpan 计算时间差(时间间隔)
  • 2017-05-28C#基于OLEDB获取Excel文件表结构信息的方法
  • 2017-05-28C#操作EXCEL DataTable转换的实例代码
  • 2017-05-28C#移除所有事件绑定的方法
  • 2017-05-28C#实现对象XML序列化的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#获取全部目录和文件的简单实例
    • WinForm项目开发中Excel用法实例解析
    • 解析C#多线程编程中异步多线程的实现及线程池的使用
    • C# cmd中修改显示(显示进度变化效果)的方法
    • C# Rx的主要接口深入理解
    • C#中计算时间差中的小数问题解决
    • c#中XML解析文件出错解决方法
    • Winform消除button按下出现的虚线简单实现方法
    • C#事件访问器详解
    • C# Winform 调用系统接口操作 INI 配置文件的代码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有