有一个Button
可以根据标记安装在RichTextBox
中的哪条线垂直地改变其位置。有必要的是,当我点击Button
时,Panel
(或者UserControl
,也许它更好)会出现在与Button
相对的RichTextBox
的全宽度上。
Panel
应位于RichTextBox
上。也就是说,如果表单(500, 500)
和此Panel
的初始大小从RichTextBox
的边缘显示到边缘,则当用户将帧大小更改为(500; 1000)
并再次按下Panel
display时,此Panel
应该会拉伸,并且所有内容也会显示在RichTextBox
上。下面是垂直显示Button
的代码和我所需要的一个动画GIF示例。
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
var pos = richTextBox1.GetPositionFromCharIndex(richTextBox1.SelectionStart);
Point locationOnForm = panel1.FindForm()
.PointToClient(panel1.Parent.PointToScreen(panel1.Location));
Point newLocation = new Point(locationOnForm.X - 10, pos.Y + locationOnForm.Y - 13);
button1.Location = newLocation;
}
https://stackoverflow.com/questions/44595132
复制