0

如何编写两个按钮以向上和向下滚动到 RichTextBox 中?我尝试什么:

private void btnScrollTop_Click(object sender, EventArgs e) {
            if (rtbDefinitie.SelectionStart >= 30) {
                rtbDefinitie.SelectionStart -= 30;
                rtbDefinitie.ScrollToCaret();
            }
        }
private void btnScrollBottom_Click(object sender, EventArgs e) {
            if (rtbDefinitie.SelectionStart <= 30) {
                rtbDefinitie.SelectionStart += 30;
                rtbDefinitie.ScrollToCaret();
            }
        }

但是在我按两次向下滚动按钮后,它似乎卡住了。我需要做什么 ?

4

1 回答 1

0

第二次点击似乎被解释为 DoubleClick,因此您也可以注册此事件并在其后面放置相同的代码(或替换30by 60

编辑:如果应用程序卡住了,因为它正在工作并且没有时间更新 GUI,您可以尝试Application.DoEvents();在每个引发的 Clickevent 之后调用:

private void btnScrollBottom_Click(object sender, EventArgs e) {
            if (rtbDefinitie.SelectionStart <= rtbDefinitie.TextLength) {
                rtbDefinitie.SelectionStart += 30;
                rtbDefinitie.ScrollToCaret();
                Application.DoEvents();
            }
        }
于 2013-02-08T19:52:18.977 回答