Bonjour, en voulant utiliser pour une listView le ShowScrollBar je me trouve confronté à un nouveau problème que vous connaissez peut-être : apparition d'une ligne avec indiqué Default. Ci-dessous une capture écran et le code correspondant.
En cherchant un peu, j'ai trouvé une propriété qui correspondrait peut être à cela (AccessibleRole) et que j'ai mis bien sûr à None. Mais voilà, en passant par le ShowScrollBar, est-ce qu'il ne le remet pas sur Default ? Il se peut aussi que ce soit une autre propriété, je suis ouvert à toute suggestion.
L'idéal serait de me donnner la solution pour le ShowScrollBar, avec le bon paramètre à mettre pour que cela ne s'affiche plus.
Code Définition : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 [DllImport("user32.dll")] static public extern bool ShowScrollBar(System.IntPtr hWnd, int wBar, bool bShow); [DllImport("user32.dll")] static public extern bool EnableScrollBar(System.IntPtr hWnd, uint wSBflags, uint wArrows); [DllImport("user32.dll")] static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, UIntPtr wParam, IntPtr lParam); private const uint SB_VERT = 1; private const uint ESB_DISABLE_BOTH = 0x3; private const uint ESB_ENABLE_BOTH = 0x0; private const int WM_VSCROLL = 0x115;
Code Appel : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 // Affichage listSources.Columns.Add("Nom", listSources.Width - 4); listSources.Columns.Add("Dossier", 0); listSources.HeaderStyle = ColumnHeaderStyle.None; listSources.Scrollable = false; // Masque Horizontale et Verticale // Et affiche maintenant seulement la Verticale int itemsCount = listSources.Items.Count; int itemHeight = listSources.Items[0].Bounds.Height; int VisiableItem = (int)listSources.ClientRectangle.Height / itemHeight; if (itemsCount >= VisiableItem) { ShowScrollBar(listSources.Handle, (Int32)SB_VERT, true); }
Merci par avance !
Partager