c#使用无滚动条的鼠标滚轮滚动
我正在尝试使用鼠标滚轮动态更改winforms应用程序中包含按钮的面板的视图。我基本上是使用下面的代码更改面板的位置,但是每当我使用鼠标滚轮滚动时,都可以看到滚动条。当我改变位置时,它们有点闪烁。有没有办法阻止滚动条出现c#使用无滚动条的鼠标滚轮滚动,c#,winforms,visual-studio,scrollbar,C#,Winforms,Visual Studio,Scrollbar,我正在尝试使用鼠标滚轮动态更改winforms应用程序中包含按钮的面板的视图。我基本上是使用下面的代码更改面板的位置,但是每当我使用鼠标滚轮滚动时,都可以看到滚动条。当我改变位置时,它们有点闪烁。有没有办法阻止滚动条出现 location -= 40; this.pnl.VerticalScroll.Value = location; this.pnl.AutoScrollPosition = new Point(0, location); 您不能从winforms简单地更改它,因为它是由wi
location -= 40;
this.pnl.VerticalScroll.Value = location;
this.pnl.AutoScrollPosition = new Point(0, location);
您不能从winforms简单地更改它,因为它是由windows自动显示的。对于这个问题有一个不太好的解决方案。我有一个类似的要求,我使用的是:
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool ShowScrollBar(IntPtr hWnd, int wBar, bool bShow);
private enum ScrollBarDirection
{
SB_HORZ = 0,
SB_VERT = 1,
SB_CTL = 2,
SB_BOTH = 3
}
protected override void WndProc(ref System.Windows.Forms.Message m)
{
ShowScrollBar(panel1.Handle, (int)ScrollBarDirection.SB_VERT, false);
base.WndProc(ref m);
}
user32.dll
如何导入user32.dll?滚动条仍然闪烁。看起来代码什么都没做。