I'm trying to get the height and width of the scrollbars that are displayed on a ListView. Is there an easy way to do this? I did some google'ing and it looks like it might be a syste开发者_高级运维m setting. I'm just not sure where to look.
Yes, it is a system setting. Use SystemInformation.HorizontalScrollBarHeight and SystemInformation.VerticalScrollBarWidth.
Namespace: System.Windows.Forms
On .Net CF, where SystemInformation.HorizontalScrollBarHeight
and SystemInformation.VerticalScrollBarWidth
don't exist, some P/Invoke is required:
public sealed class Native
{
public static Int32 GetVerticalScrollbarWidth()
{
return GetSystemMetrics(SM_CXVSCROLL);
}
public Int32 GetHorizontalScrollbarHeight()
{
return GetSystemMetrics(SM_CYHSCROLL);
}
[DllImport("coredll.dll", SetLastError = true)]
public static extern Int32 GetSystemMetrics(Int32 index);
public const Int32
SM_CXVSCROLL = 2,
SM_CYHSCROLL = 3;
}
精彩评论