DataGridView 的右键菜单(ContextMenuStrip)
2011-03-03 20:59
288 查看
DataGridView, DataGridViewColumn, DataGridViewRow, DataGridViewCell 有 ContextMenuStrip 属性。可以通过设定 ContextMenuStrip 对象来控制 DataGridView 的右键菜单的显示。 DataGridViewColumn 的 ContextMenuStrip 属性设定了 除了列头以外的单元格的右键菜单。 DataGridViewRow 的 ContextMenuStrip 属性设定了除了行头以外的单元格的右键菜单。DataGridViewCell 的 ContextMenuStrip 属性设定了指定单元格的右键菜单。
[C#]
// CellContextMenuStripNeeded事件处理方法
private void DataGridView1_CellContextMenuStripNeeded(object sender,
DataGridViewCellContextMenuStripNeededEventArgs e)
{
DataGridView dgv = (DataGridView)sender;
if (e.RowIndex < 0)
{
// 列头的ContextMenuStrip设定
e.ContextMenuStrip = this.ContextMenuStrip1;
}
else if (e.ColumnIndex < 0)
{
// 行头的ContextMenuStrip设定
e.ContextMenuStrip = this.ContextMenuStrip2;
}
else if (dgv[e.ColumnIndex, e.RowIndex].Value is int)
{
// 如果单元格值是整数时
e.ContextMenuStrip = this.ContextMenuStrip3;
}
}
// RowContextMenuStripNeeded事件处理方法
private void DataGridView1_RowContextMenuStripNeeded(object sender,
DataGridViewRowContextMenuStripNeededEventArgs e)
{
DataGridView dgv = (DataGridView)sender;
// 当"Column1"列是Bool型且为True时、设定其的ContextMenuStrip
object boolVal = dgv["Column1", e.RowIndex].Value;
Console.WriteLine(boolVal);
if (boolVal is bool && (bool)boolVal)
{
e.ContextMenuStrip = this.ContextMenuStrip1;
}
}
CellContextMenuStripNeeded 事件处理方法的参数中、「e.ColumnIndex=-1」表示行头、「e.RowIndex=-1」表示列头。RowContextMenuStripNeeded则不存在「e.RowIndex=-1」的情况
[C#]
// CellContextMenuStripNeeded事件处理方法
private void DataGridView1_CellContextMenuStripNeeded(object sender,
DataGridViewCellContextMenuStripNeededEventArgs e)
{
DataGridView dgv = (DataGridView)sender;
if (e.RowIndex < 0)
{
// 列头的ContextMenuStrip设定
e.ContextMenuStrip = this.ContextMenuStrip1;
}
else if (e.ColumnIndex < 0)
{
// 行头的ContextMenuStrip设定
e.ContextMenuStrip = this.ContextMenuStrip2;
}
else if (dgv[e.ColumnIndex, e.RowIndex].Value is int)
{
// 如果单元格值是整数时
e.ContextMenuStrip = this.ContextMenuStrip3;
}
}
// RowContextMenuStripNeeded事件处理方法
private void DataGridView1_RowContextMenuStripNeeded(object sender,
DataGridViewRowContextMenuStripNeededEventArgs e)
{
DataGridView dgv = (DataGridView)sender;
// 当"Column1"列是Bool型且为True时、设定其的ContextMenuStrip
object boolVal = dgv["Column1", e.RowIndex].Value;
Console.WriteLine(boolVal);
if (boolVal is bool && (bool)boolVal)
{
e.ContextMenuStrip = this.ContextMenuStrip1;
}
}
CellContextMenuStripNeeded 事件处理方法的参数中、「e.ColumnIndex=-1」表示行头、「e.RowIndex=-1」表示列头。RowContextMenuStripNeeded则不存在「e.RowIndex=-1」的情况
相关文章推荐
- DataGridView 的右键菜单(ContextMenuStrip)
- DataGridView 的右键菜单(ContextMenuStrip)
- DataGridView 的右键菜单(ContextMenuStrip)
- DataGridView 的右键菜单(ContextMenuStrip)
- [转]DataGridView 的右键菜单(ContextMenuStrip)
- [转]DataGridView 的右键菜单(ContextMenuStrip)
- DataGridView使用技巧九:DataGridView的右键菜单(ContextMenuStrip)
- c#判断右键菜单(ContextMenuStrip)是从哪个控件弹出来的方法
- c#判断右键菜单(ContextMenuStrip)是从哪个控件弹出来的方法
- c#判断右键菜单(ContextMenuStrip)是从哪个控件弹出来的方法
- c#判断右键菜单(ContextMenuStrip)是从哪个控件弹出来的方法
- C#listview + 上下文菜单(鼠标右键菜单) ContextMenuStrip
- WinFrom - DataGridView控件右键选中记录并弹出菜单
- C#Winform中DataGridView控件下的右键菜单事件获取行值方法
- C# DataGridView添加右键菜单等技巧
- Datagridview使用技巧(9)Datagridview的右键菜单
- C# ContextMenuStrip 点击右键不显示菜单,只点击左键显示菜单
- DataGridView添加右键菜单等技巧
- C# dataGridView右键菜单
- 转:C#判断ContextMenuStrip右键菜单的来源(从哪个控件弹出来的)