Существует ли способ получить высоту полосы прокрутки и ширину?

Я пытаюсь получить высоту и ширину полос прокрутки, которые отображены на ListView. Существует ли простой способ сделать это? Я сделал некоторый google'ing, и похоже, что это мог бы быть параметр настройки системы. Я просто не уверен, где посмотреть.

8
задан Hans Passant 3 May 2015 в 08:45
поделиться

2 ответа

Да, это системная настройка. Используйте SystemInformation.HorizontalScrollBarHeight и SystemInformation.VerticalScrollBarWidth.

Namespace: System.Windows.Forms

18
ответ дан 5 December 2019 в 06:52
поделиться

В .Net CF, где SystemInformation.HorizontalScrollBarHeight и SystemInformation.VerticalScrollBarWidth не существуют, требуется некоторый P / Invoke:

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;
}
6
ответ дан 5 December 2019 в 06:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: