如何在数据网格上创建上下文菜单并将该值复制到winform中
本文关键字:复制 winform 菜单 上下文 数据 数据网 网格 创建 | 更新日期: 2023-09-27 18:18:40
我看过很多解决方案,但我没有得到正确的答案。所有的答案都令人困惑。
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
。
我该怎么做呢?
希望这对你有帮助。
var str = YourDataGridView.Rows[ActiveCell.RowIndex].Cells[0].Value.ToString();
Clipboard.SetText(str);
使用以下代码段从选定的datagridview中复制第一项:
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());
}