在开发中,有一些常常用到的方法,每次查找以前写的比较麻烦 ,自己写有在做重复工作 ,所以总一个小的工具类,随时添加内容
4.winform控件是否出现滚动条 静态类 FormTools( public static class FormTools)
private const int HSCROLL = 0x100000; private const int VSCROLL = 0x200000; private const int STYLE = -16; [DllImport("user32", CharSet = CharSet.Auto)] private static extern int GetWindowLong(IntPtr hwnd, int nIndex); /// <summary> /// 是否出现垂直滚动条 /// </summary> /// <param name="ctrl">要测试的控件</param> /// <returns>true 出现,false 未出现</returns> public static bool IsVScrolVisible(this Control ctrl) { if (!ctrl.IsHandleCreated) return false; return (GetWindowLong(ctrl.Handle, STYLE) & VSCROLL) != 0; } /// <summary> /// 是否出现水平滚动条 /// </summary> /// <param name="ctrl">要测试的控件</param> /// <returns>true 出现,false 未出现</returns> public static bool IsHScrolVisible(this Control ctrl) { if (!ctrl.IsHandleCreated) return false; return (GetWindowLong(ctrl.Handle, STYLE) & HSCROLL) != 0; }
调用
var isHScrol = flowLayoutPanel1.IsHScrolVisible(); var isVScrol = flowLayoutPanel1.IsVScrolVisible();