版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。

按钮列的增加同前面所讲述的文本列和复选框列类似,具体代码如下:

    '增加一列按钮
    Private Sub Button16_Click(sender As Object, e As EventArgs) Handles Button16.Click
        Dim newColumnBt As New DataGridViewButtonColumn
        newColumnBt.UseColumnTextForButtonValue = False
        newColumnBt.Text = "按钮"
        newColumnBt.HeaderText = "测试"
        newColumnBt.Name = "button"
        newColumnBt.UseColumnTextForButtonValue = True
        'dgv.Columns.Add(newColumnBt)
        dgv.Columns.Insert(0, newColumnBt)
    End Sub

需要注意的是,代码中有两个地方:
1、newColumnBt.UseColumnTextForButtonValue = True
UseColumnTextForButtonValue属性为True时,将本列中按钮单元格的文本设置为与列头的文本相同。
2、dgv.Columns.Insert(0, newColumnBt)
不同于Add将新增的列添加到所有列的末尾,Insert将新增列添加到指定索引,本例中添加到索引0(第1)的位置。

运行如下:

添加超链接列也类似,具体代码如下:

    '增加一列链接
    Private Sub Button17_Click(sender As Object, e As EventArgs) Handles Button17.Click
        Dim newColumnLk As New DataGridViewLinkColumn
        newColumnLk.Text = "按钮"
        newColumnLk.HeaderText = "测试"
        newColumnLk.Name = "Link"
        newColumnLk.UseColumnTextForLinkValue = False
        newColumnLk.LinkBehavior = LinkBehavior.HoverUnderline
        newColumnLk.LinkColor = Color.Red
        newColumnLk.ActiveLinkColor = Color.Gray
        newColumnLk.VisitedLinkColor = Color.Blue
        newColumnLk.TrackVisitedState = True
        dgv.Columns.Add(newColumnLk)

        For i As Integer = 0 To dgv.Rows.Count - 1
            dgv.Rows(i).Cells(dgv.ColumnCount - 1).Value = "我的博客"
        Next
    End Sub

需要注意的是,超链接列中的单元格显示的文本类似于网页中的超链接
1、newColumnLk.LinkBehavior = LinkBehavior.HoverUnderline
LinkBehavior是一个LinkBehavior枚举,设置了单元格中链接的显示:
   AlwaysUnderline:该链接始终显示为带下划线的文本。 
   HoverUnderline:仅当鼠标悬停在链接文本上时,该链接才显示带下划线的文本。 
   NeverUnderline:链接文本从不带下划线。  
   SystemDefault:此设置的行为取决于使用“控制面板”或 Internet Explorer 中的“Internet 选项”对话框设置的选项。 
2、LinkColor、ActiveLinkColor、VisitedLinkColor 分别设置了超链接文本未访问时的颜色、活动链接的颜色、访问过的链接的颜色。
3、TrackVisitedState 属性指示当访问链接时,该链接是否更改颜色。

运行如下:

注意,上图中 2,4位置的单元格是有鼠标放在上面的,截图显示不了鼠标,可以看到有个下划线。

 

由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。

学习更多vb.net知识,请参看vb.net 教程 目录

更多推荐