如何使用鼠标滚轮滚动面板?

Ser*_*pia 38 c# scroll panel mousewheel

我的表单上有一个面板,AutoScroll设置为true,因此会自动显示滚动条.

如何使用户可以使用鼠标滚轮滚动面板?谢谢你.

bea*_*022 57

对我panel1_MouseEnter有用的是添加EventHandler:

private void panel1_MouseEnter(object sender, EventArgs e)
{
    panel1.Focus();
}
Run Code Online (Sandbox Code Playgroud)

  • 这可能会产生一种非常意外的行为,如果您单击一个textBox或想要编辑其他内容,如果您将其悬停在该面板中,这将会聚焦该面板.我不会这样做..(只是我的意见) (7认同)
  • 谢谢,这个更简单的解决方案对我有用.我有一个填充在面板内的图片框.而不是面板鼠标输入.我做了picturebox鼠标输入解决了我的问题. (2认同)

Jon*_*n B 28

面板或面板中的控件必须具有焦点.请注意,如果具有焦点的控件具有滚动条,则它将滚动而不是面板.


Niv*_*vas 16

下面的代码对我有用.....

    Public Form
{
InitializeComponent();  
this.MouseWheel += new MouseEventHandler(Panel1_MouseWheel);
}

 private void Panel1_MouseWheel(object sender, MouseEventArgs e)
        {
         panel1.Focus();
         }
Run Code Online (Sandbox Code Playgroud)

  • 这很棒.更简洁,在父窗体的构造函数中:`MouseWheel + =(s,e)=> myPanel.Focus();` (2认同)