Skąd mam wiedzieć, jaka jest aktualna szerokość paska przewijania systemu?


96

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ść?

Odpowiedzi:



28

Szerokość pionowego paska przewijania

System.Windows.Forms.SystemInformation.VerticalScrollBarWidth;

9

Jeśli chcesz poznać rozmiar a ScrollableControlminus rozmiar paska przewijania, najłatwiej jest użyć Control.ClientSizewł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.


3
Niestety ClientSize zawiera również szerokość paska przewijania (daje taką samą wartość jak ActualWidth). Nie ma to jednak sensu.
Oyvind

2

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.