У меня есть ListView, в котором я хочу создать событие, когда появляется VScrollBar.Я на самом деле не хочу горизонтальную полосу прокрутки, и всякий раз, когда появляется полоса прокрутки, я хочу изменить размеры столбцов, чтобы они соответствовали окну.Я уже могу проверить видимость полосы прокрутки, но я не знаю название события, которое запускается, когда появляются полосы прокрутки.Вот мой код:
private const int WS_VSCROLL = 0x200000;
private const int GWL_STYLE = -16;
[DllImport("user32.dll")]
public static extern int GetWindowLong(IntPtr hWnd, int Index);
private static bool IsScrollbarVisible(IntPtr hWnd)
{
bool bVisible = false;
int nMessage = WS_VSCROLL;
int nStyle = GetWindowLong(hWnd, GWL_STYLE);
bVisible = ((nStyle & nMessage) != 0);
return bVisible;
}
И работает так:
if (IsScrollbarVisible(listview.Handle))
{
columnHeader1.Width = listview.ClientRectangle.Width - (columnHeader2.Width + columnHeader3.Width);
}
Кто-то, пожалуйста, помогите мне!