我已经看到很多解决方案,但我没有得到正确答案。所有答案都令人困惑。
contextMenu.MenuItems.Add(new MenuItem("Update", CopyClick));
DataGridViewCell ActiveCell = null;
private void CopyClick(object sender, EventArgs e)
{
if (ActiveCell != null && ActiveCell.Value != null)
Clipboard.SetText(ActiveCell.Value.ToString());
}
目前我正在使用上面的代码,它会复制当前单元格值,但我想要 - 如果我选择任何行并按复制然后it will copy only first value from the row
。
所以我该怎么做?
答案 0 :(得分:2)
我希望这会有所帮助。
var str = YourDataGridView.Rows[ActiveCell.RowIndex].Cells[0].Value.ToString();
Clipboard.SetText(str);
答案 1 :(得分:1)
使用此代码段复制数据网格视图中选定行的第一项:
int ActiveRow = null;
private void Form1_Load(object sender, EventArgs e)
{
this.dataGridView1.RowHeaderMouseClick += new DataGridViewCellMouseEventHandler(dataGridView1_RowHeaderMouseClick);
}
void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
ActiveRow = e.RowIndex;
if (e.Button == System.Windows.Forms.MouseButtons.Right)
{
contextMenuStrip1.Show();
contextMenuStrip1.Items[0].Click += new EventHandler(Copy_Click);
}
}
void Copy_Click(object sender, EventArgs e)
{
if(ActiveRow!=null)
Clipboard.SetText(dataGridView1.Rows[ActiveRow].Cells[0].ToString());
}