C# winform DataGridView中添加按钮

首先,一头雾水,百度之。资料如下:


注意:DataGridView控件是从.NET Framework 2.0版本开始追加的。

在DataGridView的列中想表示和LinkLabel控件一样的链接时,可以使用DataGridViewLinkColumn来实现。DataGridViewLinkColumn类的使用和在这里的DataGridViewButtonColumn使用方法基本相同。

下面在例子是在DataGridView中追加链接列的代码。

[VB.NET] 'DataGridViewLinkColumn作成 Dim column As New DataGridViewLinkColumn() '设定列的名字 column.Name = "Link" '所有的链接文字列表示为"点击阅览" column.UseColumnTextForLinkValue = True column.Text = "点击阅览" '鼠标停留在链接上时显示下划线 column.LinkBehavior = LinkBehavior.HoverUnderline '设定为不能自动访问 column.TrackVisitedState = True '向DataGridView追加 DataGridView1.Columns.Add(column)
[C#] //DataGridViewLinkColumn作成 DataGridViewLinkColumn column = new DataGridViewLinkColumn(); //设定列的名字 column.Name = "Link"; //所有的链接文字列表示为"点击阅览" column.UseColumnTextForLinkValue = true; column.Text = "点击阅览"; //鼠标停留在链接上时显示下划线 column.LinkBehavior = LinkBehavior.HoverUnderline; //设定为不能自动访问 column.TrackVisitedState = true; //向DataGridView追加 DataGridView1.Columns.Add(column);

获得链接被点击

获得链接被点击的方法也和DataGridViewButtonColumn一样,使用DataGridView.CellContentClick事件实现。

补充:CellClick事件,在单元格内不是链接的部分点击时也会被触发。

下面的例子就是获得第几行的链接被点击的代码。

[VB.NET] 'CellContentClick事件处理器 Private Sub DataGridView1_CellContentClick(ByVal sender As Object, _ ByVal e As DataGridViewCellEventArgs) _ Handles DataGridView1.CellContentClick Dim dgv As DataGridView = CType(sender, DataGridView '如果是"Link"列,被点击 If dgv.Columns(e.ColumnIndex).Name = "Link" Then MessageBox.Show((e.RowIndex.ToString() + _ "行的链接被点击了。")) '已经访问 Dim cell As DataGridViewLinkCell = _ CType(dgv(e.ColumnIndex, e.RowIndex), DataGridViewLinkCell) cell.LinkVisited = True End If End Sub

[C#] //CellContentClick事件处理器 private void DataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { DataGridView dgv = (DataGridView)sender; //如果是"Link"列,被点击 if (dgv.Columns[e.ColumnIndex].Name == "Link" { MessageBox.Show(e.RowIndex.ToString() + "行的链接被点击了。"); //已经访问 DataGridViewLinkCell cell = (DataGridViewLinkCell)dgv[e.ColumnIndex, e.RowIndex]; cell.LinkVisited = true; } }


然后,照葫芦画瓢呗。

C# winform DataGridView中添加按钮_第1张图片

仔细看微软的提示,一切都变得简单。


然而,又出现了点问题


datagridview中添加按钮列,怎么编辑按钮列显示的文字?编辑text属性,没有效果。

依然百度,资料如下:

在  编辑列——外观——DefaultCellStyle点击...,会出现CellStyle生成器,NullValue就是你想要的


搞定,收工,哈哈哈。


你可能感兴趣的:(C# winform DataGridView中添加按钮)