C# 如何将滚动条与RichTextBox中的行匹配
我正在向C# 如何将滚动条与RichTextBox中的行匹配,c#,winforms,scrollbar,richtextbox,C#,Winforms,Scrollbar,Richtextbox,我正在向richtextbox控件添加按钮(带有文本和图像),但因为我没有使用以下行: richTextBox1.AppendText(Environment.NewLine + str); 滚动条与总行数不匹配,并且无法正确调整大小,如何解决此问题?出现了什么问题 我发现这是一种非常奇特的做事方式。首先,让我们添加一点背景: 当您使用richTextBox1.Controls.Add(new button())时-您要做的是:您将新按钮添加为richTextBox1.Controls的子项,
richtextbox
控件添加按钮(带有文本和图像),但因为我没有使用以下行:
richTextBox1.AppendText(Environment.NewLine + str);
滚动条与总行数不匹配,并且无法正确调整大小,如何解决此问题?出现了什么问题
我发现这是一种非常奇特的做事方式。首先,让我们添加一点背景:
当您使用richTextBox1.Controls.Add(new button())
时-您要做的是:您将新按钮添加为richTextBox1.Controls的子项,而不是作为内容-这就是问题所在
滚动条设置为从richtextbox
的内容中读取其高度/可滚动区域等,而您的滚动条没有内容,因此没有滚动条(或错误读数等)
您可以创建一个自定义richtextbox控件,该控件从其子控件的位置继承其可滚动区域。但是,如果您希望避免这条路线,请继续阅读:
正确的方法
我不知道您的用例,因此这可能不起作用,但我会删除richtextbox
控件,而是使用面板
控件。例如,面板控件将根据子控件更新其滚动条,而richtextbox
则不会-这将提供您期望的行为。Winform或Wpf?@使用Winform标记im,以便我们都在同一页面上,你是说当内容添加到richtextbox时,滚动条没有正确更新吗?另外,您是如何向richtextbox添加内容的?第一部分是的,我添加了如下内容(按钮):richTextBox1.Controls.add(button);你最初的要求是什么?按钮、文本和图像看起来像HTML内容。你知道你可以使用WebBrowser
控件在windows窗体中显示HTML内容吗?谢谢,我确实切换到了panel而不是richtextbox(它起作用了),这对我来说以前更好,但现在不行了。