效果图
实现
第一步:定义自定义菜单函数
private void InitializeCustomContextMenu()
{
cm = new System.Windows.Forms.ContextMenu();
cm.MenuItems.Add(new MenuItem("Cut", new EventHandler(OnCut)));
cm.MenuItems.Add(new MenuItem("Copy", new EventHandler(OnCopy)));
cm.MenuItems.Add(new MenuItem("Paste", new EventHandler(onPaste)));
cm.MenuItems.Add("-");
cm.MenuItems.Add(new MenuItem("Select All", new EventHandler(onSelectAll)));
}
private void OnCut(object sender, EventArgs e)
{
TextEdit textEdit = this.gridView1.ActiveEditor as TextEdit;
if (textEdit != null)
{
textEdit.Cut();
}
}
private void OnCopy(object sender, EventArgs e)
{
TextEdit textEdit = this.gridView1.ActiveEditor as TextEdit;
if (textEdit != null)
{
textEdit.Copy();
}
}
private void onPaste(object sender, EventArgs e)
{
TextEdit textEdit = this.gridView1.ActiveEditor as TextEdit;
if (textEdit != null)
{
textEdit.Paste();
}
}
private void onSelectAll(object sender, EventArgs e)
{
TextEdit textEdit = this.gridView1.ActiveEditor as TextEdit;
if (textEdit != null)
{
textEdit.SelectAll();
}
}
第二步:为GridView设置ShownEditor事件
代码
private void gridView1_ShownEditor(object sender, EventArgs e)
{
if (cm == null) {
InitializeCustomContextMenu();
}
this.gridView1.ActiveEditor.ContextMenu = cm;
}