在C#中,要同步两个RichTextBox的滚动位置,可以使用以下方法:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// 添加滚动事件处理程序
richTextBox1.VScroll += RichTextBox_VScroll;
richTextBox2.VScroll += RichTextBox_VScroll;
}
private void RichTextBox_VScroll(object sender, EventArgs e)
{
// 获取当前滚动条位置
int scrollPosition = ((RichTextBox)sender).VerticalScrollBar.Value;
// 同步滚动条位置
if (sender == richTextBox1)
{
richTextBox2.VerticalScrollBar.Value = scrollPosition;
}
else if (sender == richTextBox2)
{
richTextBox1.VerticalScrollBar.Value = scrollPosition;
}
}
}
这段代码将两个RichTextBox控件的滚动事件处理程序都设置为RichTextBox_VScroll方法。在RichTextBox_VScroll方法中,获取当前滚动条位置,并将其同步到另一个RichTextBox控件中。
这样,当用户在其中一个RichTextBox中滚动时,另一个RichTextBox的滚动位置也会同步更新。
领取专属 10元无门槛券
手把手带您无忧上云