有一个Button
根据标记安装在RichTextBox
. 这是必要的,当我点击Button
了Panel
(或者UserControl
,也许是更好的)出现在对面的Button
来的全宽RichTextBox
。
Panel
应位于RichTextBox
. 也就是说,如果窗体的初始大小(500, 500)
和 thisPanel
从边缘到边缘显示RichTextBox
,当用户将框架大小更改为(500; 1000)
并再次按下Panel
显示时,这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;
}
在 onClick 方法中,您可以将面板放在它旁边吗?
private void MyButton_Click(object sender, EventArgs e)
{
MyPanel.Location = new Point(MyButton.Location.X + MyButton.Width, MyButton.Location.Y);
MyPanel.Visible = true;
}
如果您希望它与按钮的高度相同,请在方法中添加这一行。
MyPanel.Size = new System.Drawing.Size(MyPanel.Width, MyButton.Height);
为了拉伸它,您可以使用表单 SizeChnged 事件
private void MyForm_SizeChanged(object sender, EventArgs e)
{
MyPanel.Width - MyButton.width + 5;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句