在c#中的RichtextBox中添加了控件,但无法与其他文本一起滚动

时间:2013-04-12 02:24:20

标签: c# richtextbox

我在程序中使用RichTextbox以c sharp显示多个行字符串。我还需要添加可点击控件,如按钮,标签等。我可以通过以下网址正确添加RichTextBox内的控件:

http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/33dd0de0-1e30-4f68-a3e2-7b4b2f2170af/

Button b = new Button();
b.Text = "123";
b.Size = new Size(30, 30);
b.Location = new Point(50, 50);
b.Click += delegate(object sender, EventArgs e)
{
    this.richTextBox1.Text += "123";
};
this.richTextBox1.Controls.Add(b);

但是当我滚动RichTextBox时,控件不会随文本一起移动。有没有办法移动控件以及文本? 谢谢大家!

1 个答案:

答案 0 :(得分:0)

这是不正确的。您正在使用此代码执行的操作是将控件添加到RTB中,该控件充当容器。它不是下面的RTF文档的一部分。

你可以通过使用一些Shape-Drawing RTF在那里绘制按钮。 I will point you to the RTF Specification on how to do that.

然而,至于将点击事件连接到那些RTF按钮..不幸的是我不知道。

(PS,你可能最好还是选择WPF的FlowDocument来做这件事,这应该做你想做的事情,但需要更多的学习)