我正在尝试使用鼠标滚轮动态更改包含winforms应用程序中按钮的面板的视图。我基本上是使用下面的代码更改面板的位置,但每当我使用鼠标滚轮滚动时,都可以看到滚动条。当我改变位置时,它们会将烧瓶/闪烁分类到视图中。有没有办法阻止滚动条出现?
location -= 40;
this.pnl.VerticalScroll.Value = location;
this.pnl.AutoScrollPosition = new Point(0, location);
答案 0 :(得分:0)
你不能简单地从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