Jak wiesz, szerokość paska przewijania można dostosować w oknie Właściwości ekranu -> Wygląd -> Zaawansowane -> Element: ScrollBar. Wartość domyślna to 17. Jednak nie mogę założyć, że tak jest zawsze, czy mogę pobrać tę wartość?
96
Spójrz na System.Windows.Forms.SystemInformation
członków klasy: HorizontalScrollBarHeight
i VerticalScrollBarWidth
.
Szerokość pionowego paska przewijania
System.Windows.Forms.SystemInformation.VerticalScrollBarWidth;
Jeśli chcesz poznać rozmiar a ScrollableControl
minus rozmiar paska przewijania, najłatwiej jest użyć Control.ClientSize
właściwości.
Z dokumentacji :
Pobiera lub ustawia wysokość i szerokość obszaru klienckiego formantu. Obszar roboczy formantu to granice formantu bez elementów nieklienckich, takich jak paski przewijania , obramowania, paski tytułu i menu.
Pomiń właściwość ClientSize kontrolki. Przynajmniej w VS2013 Scrollbar jest zawarty w ClientSize.
Kiedy sformatowałem RichTextBox o szerokości 304 i pionowym pasku przewijania, szerokość Client Size wynosiła 300, co stanowiło tylko granice.
trzymaj się System.Windows.Forms.SystemInformation.VerticalScrollBarWidth, aby uzyskać szerokość paska przewijania.
źródło