在开发中,有一些常常用到的方法,每次查找以前写的比较麻烦 ,自己写有在做重复工作 ,所以总一个小的工具类,随时添加内容
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();