当用户从特定单元格的上下文菜单中选择副本时,如何将数据网格单元格的内容复制到剪贴板?
public Form1() { InitializeComponent(); dataGridView1.MouseClick += dataGridView1_MouseClick; } void dataGridView1_MouseClick(object sender,MouseEventArgs e) { if (e.Button == MouseButtons.Right) { ContextMenu m = new ContextMenu(); m.MenuItems.Add(new MenuItem("copy")); int currentMouSEOuverRow = dataGridView1.HitTest(e.X,e.Y).RowIndex; m.Show(dataGridView1,new Point(e.X,e.Y)); } }
解决方法
我想我要做的是这样的:
var hitTestInfo = dataGridView1.HitTest(e.X,e.Y); if (hitTestInfo.Type != DataGridViewHitTestType.Cell) { return; } var mi = new MenuItem("copy") mi.Tag = hitTestInfo; mi.Click += (s,e) => { var hti = ((MenuItem)s).Tag as HitTestInfo; var val = dataGridView1.Rows[hti.RowIndex].Cells[hti.ColumnIndex].Value; Clipboard.SetData(DataFormats.Text,val); } m.MenuItems.Add(mi);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。