包含控件时阻止自动滚动 控件获得焦点
本文关键字:控件 滚动 焦点 包含 | 更新日期: 2023-09-27 18:35:24
我有一个Panel
,上面有两个Button
,其中一个是部分隐藏的。当部分隐藏的按钮获得焦点时 - 例如,当单击另一个按钮,然后单击它(-原始按钮)时 - 面板将滚动。我需要垂直滚动条,但不需要自动滚动,如果没有自动滚动,似乎无法获得正常运行的滚动条。
代码:
using System.Drawing;
using System.Windows.Forms;
namespace test
{
public partial class Form1 : Form
{
Panel panel = new Panel
{
AutoScroll = true,
Size = new Size(200, 200),
Location = new Point(0, 30),
};
Button b1 = new Button
{
Location = new Point(100, 100),
Size = new Size(50, 150),
BackColor = Color.Black
};
Button b2 = new Button();
public Form1()
{
InitializeComponent();
panel.Controls.Add(b1);
Controls.Add(panel);
Controls.Add(b2);
}
}
}
使用可以访问 VScroll 属性的派生类。
但更简单,效果更好:
覆盖ScrollToControl
。请参阅如何阻止 WinForms 面板滚动? 。