In my previous post (
Synchronized ListBox objects (or how to scroll 2 ListBox objects together)[
^]), I described how to create synchronized (or linked)
ListBox
and
ListView
objects. Now I continue investigation in this area and I have found another interesting example which describes synchronization of two
RichTextBox
objects. The first step is to create a class which derives from
RichTextBox
class.
public class SynchronizedScrollRichTextBox : System.Windows.Forms.RichTextBox
{
public event vScrollEventHandler vScroll;
public delegate void vScrollEventHandler(System.Windows.Forms.Message message);
public const int WM_VSCROLL = 0x115;
protected override void WndProc(ref System.Windows.Forms.Message msg)
{
if (msg.Msg == WM_VSCROLL)
{
if (vScroll != null)
{
vScroll(msg);
}
}
base.WndProc(ref msg);
}
public void PubWndProc(ref System.Windows.Forms.Message msg)
{
base.WndProc(ref msg);
}
}
I created two
SynchronizedScrollRichTextBox
controls and placed them on the form. Then, I added the following code (
vScroll
event):
private void synchronizedScrollRichTextBox1_vScroll(Message message)
{
message.HWnd = synchronizedScrollRichTextBox2.Handle;
synchronizedScrollRichTextBox2.PubWndProc(ref message);
}
My name is Robert Kanasz and I have been working with ASP.NET, WinForms and C# for several years.
MCSD - Web Applications
MCSE - Data Platform
MCPD - ASP.NET Developer 3.5
- Web Developer 4
MCITP - Database Administrator 2008
- Database Developer 2008
MCSA - SQL Server 2012
MCTS - .NET Framework 3.5, ASP.NET Applications
- SQL Server 2008, Database Development
- SQL Server 2008, Implementation and Maintenance
- .NET Framework 4, Data Access
- .NET Framework 4, Service Communication Applications
- .NET Framework 4, Web Applications
MS - Programming in HTML5 with JavaScript and CSS3 Specialist
Open source projects:
DBScripter - Library for scripting SQL Server database objects
Please, do not forget vote