using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
private RichTextBox richText;
public Form1()
{
InitializeComponent();
richText = new RichTextBox();
richText.Dock = DockStyle.Fill;
richText.AcceptsTab = true; // Tab ~ Ctrl+Tab。
richText.DetectUrls = true; // 自动设置 URL 链接格式。
richText.EnableAutoDragDrop = true; // 在文本、图片和其他数据上启用拖放操作。
richText.ShortcutsEnabled = true; // 启用定义的快捷方式。
richText.HideSelection = false; // 无焦点时,选定文本保持突出显示。
richText.ShowSelectionMargin = true; // 显示选定内容的边距。
richText.KeyDown += new KeyEventHandler(richText_KeyDown);
richText.LinkClicked += new LinkClickedEventHandler(richText_LinkClicked);
this.Controls.Add(richText);
}
private void richText_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == (Keys.Control | Keys.V))
{
if (Clipboard.ContainsText(TextDataFormat.Html))
{
string htm = Clipboard.GetText(TextDataFormat.Html);
htm = Encoding.UTF8.GetString(Encoding.Default.GetBytes(htm));
string sf = @"<!--StartFragment-->";
int start = htm.IndexOf(sf) + sf.Length;
int end = htm.IndexOf(@"<!--EndFragment-->");
richText.Text = htm.Substring(start, end - start);
e.SuppressKeyPress = true;
}
}
}
private void richText_LinkClicked(object sender, LinkClickedEventArgs e)
{
System.Diagnostics.Process.Start(e.LinkText);
}
}
}