您的位置:首页 > 编程语言 > C#

C# winform DataGridView中添加按钮

2014-04-14 16:42 330 查看
首先,一头雾水,百度之。资料如下:

注意: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; } }

然后,照葫芦画瓢呗。



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

然而,又出现了点问题

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

依然百度,资料如下:

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


搞定,收工,哈哈哈。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: