给Panel加一个Paint事件...写 void panel1_Paint(object sender, PaintEventArgs e) { Control _Control =(Control)sender; ShowScrollBar(_Control.Handle, 0, 0); } [DllImport("user32.dll", CharSet = CharSet.Auto)] public static extern int ShowScrollBar(IntPtr hWnd, int bar, int show); 不显示横滚动条
里面被包含控件的宽度不要超过 (panel 宽度 - 滚动条宽度)
本来panel里面包含的控件宽度已经超过了panel的面板,如果将其AutoScroll 设置为True 则横竖都要出现滚动条。我现在想实现类似QQ好友面板那样,只出现竖滚动条,不出现横滚动条。如果要看完包含内的内容,只有横向拖动窗体大小。谢谢楼上的。还有其他办法?
求相关代码示例?
如果不想出现水平滚动条,就只能先保证容器内控件范围不超过PANEL宽度
{
Control _Control =(Control)sender;
ShowScrollBar(_Control.Handle, 0, 0);
} [DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int ShowScrollBar(IntPtr hWnd, int bar, int show);
不显示横滚动条
panel1.HorizontalScroll.Visible = false;//横的