C#两个richTextBox同步滚动
来源:互联网 发布:软件开发项目介绍 编辑:程序博客网 时间:2024/04/28 15:35
using System;using System.Collections.Generic;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;namespace SolveQuestion{ class RichTextBoxEx : RichTextBox { [DllImport("user32.dll")] public static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam); public RichTextBoxEx() { } public const int WM_HSCROLL = 276; public const int WM_VSCROLL = 277; public const int WM_SETCURSOR = 32; public const int WM_MOUSEWHEEL = 522; public const int WM_MOUSEMOVE = 512; public const int WM_MOUSELEAVE = 675; public const int WM_MOUSELAST = 521; public const int WM_MOUSEHOVER = 673; public const int WM_MOUSEFIRST = 512; public const int WM_MOUSEACTIVATE = 33; private RichTextBox otherRichTextBox; public RichTextBox OtherRichTextBox { get { return otherRichTextBox; } set { otherRichTextBox = value; } } protected override void WndProc(ref Message m) { if ((otherRichTextBox != null) && (m.Msg == WM_HSCROLL || m.Msg == WM_VSCROLL || m.Msg == WM_SETCURSOR || m.Msg == WM_MOUSEWHEEL || m.Msg == WM_MOUSEMOVE || m.Msg == WM_MOUSELEAVE || m.Msg == WM_MOUSELAST || m.Msg == WM_MOUSEHOVER || m.Msg == WM_MOUSEFIRST || m.Msg == WM_MOUSEACTIVATE)) { SendMessage(otherRichTextBox.Handle, m.Msg, m.WParam, m.LParam); } base.WndProc(ref m); } }}调用方法 private void Form1_Load(object sender, EventArgs e) { richTextBoxEx1.OtherRichTextBox = richTextBoxEx2; }
原理是:重写RichTextBox截获它的滚动条消息和鼠标消息发送给另一个RichTextBox
- C#两个richTextBox同步滚动
- 两个RichTextBox同步滚动的实现
- C# 同步两个ListBox滚动条
- 支持同步滚动的RichTextbox控件
- 支持同步滚动的RichTextbox控件
- 在C#如何让RichTextBox平滑滚动
- C#控制RichTextBox滚动条的方法
- C#设置richtextbox滚动到最后一行
- c# winform richtextbox 滚动条 最后位置
- C#控制RichTextBox滚动条的方法
- 两个frame同步滚动
- 两个View同步滚动
- 两个UIScrollView同步滚动
- 两个ScrollBox同步滚动
- C# RichTextBox 滚动条 滚动到最后一行
- 控制两个CListView同步滚动
- android两个ListView同步滚动
- C# richTextBox 换行 显示水平滚动条 取消自动换行
- 简单生活
- 创建XML文档并保存到磁盘文件中(GBK)
- 编码
- QTP破解说明
- 查看索引的詳細信息(包含創建及修改時間)
- C#两个richTextBox同步滚动
- IEnumerable和IEnumerator有什么区别?
- unix下静态库的链接顺序问题(zz)
- android之SQLite使用心得之二
- Android异步下载网络图片(其一)
- Centos(linux) 简单方法升级php到php5.2.6
- #pragma pack(push,1)与#pragma pack(1)的区别
- myeclipse导入注释模版
- openlayers简单例子