Bonjour,

J'ai un petit problème que je n'arrive pas a résoudre avec un datagridview.

J'essai d'obtenir des cellules de 1 pixel de large.

Pour ce faire, je me suis créé un customdatagridview (voir code plus bas)

Malheureusement, la cellule semble toujours garder un pixel réservé de chaque côté pour la bordure, même si elle est à none...

Merci de vtre aide.

Code du Form :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
    Private Sub buildform()
        Dim grid As New CustomDataGridView
        For i = 0 To 2
            For j = 0 To 59
                Dim col As New DataGridViewCustomColumn
                With col
                    .Width = 1
                End With
                grid.Columns.Add(col)
            Next
        Next
        grid.Rows.Add(1)
        grid.Width = 1500
        Me.Controls.Add(grid)
 
    End Sub
Code du CustomDataGridView
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
 
Public Class CustomDataGridView
    Inherits DataGridView
 
    Public Sub New()
        With Me
            .EnableHeadersVisualStyles = False
            .RowHeadersVisible = False
            .AllowUserToResizeColumns = False
            .AllowUserToAddRows = False
            .AllowUserToDeleteRows = False
            .AllowUserToOrderColumns = False
            .AllowUserToResizeRows = False
            .ColumnHeadersHeight = 15
            .RowsDefaultCellStyle.Padding = New Padding(0, 0, 0, 0)
            .AutoSizeRowsMode = False
            .RowTemplate.Height = 15
            .ReadOnly = True
        End With
    End Sub
 
    Public Overrides Function AdjustColumnHeaderBorderStyle( _
        ByVal dataGridViewAdvancedBorderStyleInput As DataGridViewAdvancedBorderStyle, _
        ByVal dataGridViewAdvancedBorderStylePlaceHolder As DataGridViewAdvancedBorderStyle, _
        ByVal firstDisplayedColumn As Boolean, ByVal lastVisibleColumn As Boolean) _
        As DataGridViewAdvancedBorderStyle
 
        With dataGridViewAdvancedBorderStylePlaceHolder
            .Top = DataGridViewAdvancedCellBorderStyle.None
            .Left = DataGridViewAdvancedCellBorderStyle.None
            .Bottom = DataGridViewAdvancedCellBorderStyle.None
            .Right = DataGridViewAdvancedCellBorderStyle.None
        End With
 
        Return dataGridViewAdvancedBorderStylePlaceHolder
    End Function
End Class
 
Public Class DataGridViewCustomColumn
    Inherits DataGridViewColumn
 
    Public Sub New()
        Me.CellTemplate = New DataGridViewCustomCell
    End Sub
End Class
 
Public Class DataGridViewCustomCell
    Inherits DataGridViewTextBoxCell
 
    Public Overrides Function AdjustCellBorderStyle( _
        ByVal dataGridViewAdvancedBorderStyleInput As DataGridViewAdvancedBorderStyle, _
        ByVal dataGridViewAdvancedBorderStylePlaceHolder As DataGridViewAdvancedBorderStyle, _
        ByVal singleVerticalBorderAdded As Boolean, _
        ByVal singleHorizontalBorderAdded As Boolean, _
        ByVal firstVisibleColumn As Boolean, _
        ByVal firstVisibleRow As Boolean) As DataGridViewAdvancedBorderStyle
 
        With dataGridViewAdvancedBorderStylePlaceHolder
            .Top = DataGridViewAdvancedCellBorderStyle.None
            .Left = DataGridViewAdvancedCellBorderStyle.None
            .Bottom = DataGridViewAdvancedCellBorderStyle.None
            .Right = DataGridViewAdvancedCellBorderStyle.None
        End With
 
        Return dataGridViewAdvancedBorderStylePlaceHolder
    End Function
 
End Class