private int curRow = 0;//鼠标右键得到的当前行号
#region 激发鼠标事件,显示右键菜单,得到被选中的行的行号,注意第一列被隐藏的情况考虑
private int showRightMenu(DataGridView dataGridView, ContextMenuStrip contextMenuStrip, DataGridViewCellMouseEventArgs e)
{
int curRowTemp = 0;//当前鼠标在DataGridView中的行的位置
if (e.Button == MouseButtons.Right)
{
curRowTemp = e.RowIndex;
if (curRowTemp < 0 || curRowTemp > dataGridView.Rows.Count)
{
curRowTemp = 0;
}
else
{
dataGridView.CurrentCell = dataGridView[1, curRowTemp];
dataGridView.ContextMenuStrip = contextMenuStrip;
}
}
return curRowTemp;//返回当前鼠标所在的行的行号
}
#endregion
#region 根据行号,得到DataGridView中该行的某一列的信息
private Object GetColumeInfo(DataGridView dataGridView, int curRow, int colnum)
{
Object info = null;
info = dataGridView.Rows[curRow].Cells[colnum].Value;
return info;
}
#endregion
#region 根据行号,设置DataGridView中该行的某一列的信息
private int SetColumeInfo(DataGridView dataGridView, int curRow, int column, Object info)
{
dataGridView.Rows[curRow].Cells[column].Value = info;
return (int)this.GetColumeInfo(dataGridView, curRow, 0);
}
#endregion
#region 根据行号,删除该行
private int RemoveRow(DataGridView dataGridView, int curRow)
{
int rowID = (int)this.GetColumeInfo(dataGridView, curRow, 0);
dataGridView.Rows.RemoveAt(curRow);
System.Console.WriteLine("删除的索引号" + rowID + "删除的行号" + curRow);
return rowID;
}
#endregion