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);总结
以上是内存溢出为你收集整理的c# – 当用户从ContextMenu中选择“复制”时,如何将数据复制到剪贴板全部内容,希望文章能够帮你解决c# – 当用户从ContextMenu中选择“复制”时,如何将数据复制到剪贴板所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)