【发布时间】:2020-08-23 14:53:12
【问题描述】:
是否有人知道在调整 datagridview 行和列的大小时禁用出现的行的方法。这条线闪烁很多,所以我宁愿自己画自己的实线并禁用默认线。
我希望通过绘制我自己的粗线(我已经完成了)它会在默认闪烁的一条上方绘制,但不幸的是两条线都会出现,闪烁的一条通常会稍微出现在右侧或左侧我的固体。我不认为它是相关的,而是用于绘制下面的线的代码。
Private Sub DataGridView1_Paint(sender As Object, e As PaintEventArgs) Handles DataGridView1.Paint
If resizingColumns = True Then
Dim penRed As Pen
penRed = New Pen(color.Red, 3)
Dim cursorPosition As Integer = Me.DataGridView1.PointToClient(New Point(Cursor.Position.X, Cursor.Position.Y)).X
e.Graphics.DrawLine(penRed, cursorPosition, 0, cursorPosition, Me.DataGridView1.Size.Height)
End If
End Sub
我能想到的唯一其他选择(我真的不想这样做)是将 AllowUserToResizeColumns 设置为 false(这也会隐藏列调整大小行),然后使用鼠标事件以编程方式调整列大小。
任何帮助或指导将不胜感激。
【问题讨论】:
-
这条线无法控制。我认为您的粗线与闪烁的线没有完全重叠,因为您使用的是鼠标指针 X 坐标,而不是单元格之间实际分隔符的 X 坐标(但我很确定它无论如何都会闪烁)。在这种情况下,我什至不确定自己管理鼠标事件是否值得,这需要大量调整代码(也就是很多意想不到的错误)。没有该功能的 3d 派对控件怎么办?
-
嗨 FandangoOnCore,是的,你是对的,这条线并不是完全重叠的,而且无论如何都会出现闪烁的线。 3rd 方控制是什么意思?
-
我的意思是其他公司的一些其他网格控件。也许他们的一些网格没有那条移动线,或者至少它是可定制的。您可以参考此 [stackoverflow.com/questions/6008226/… 上的答案以获取这些 3d 部分网格控件中的一些链接(抱歉,我在上一个答案中输入了类型)。
标签: vb.net datagridview vb.net-2010 datagridviewcolumn