DataGridView щелкните правой кнопкой мыши меню / скопировать пример? - PullRequest
10 голосов
/ 24 августа 2011

У меня есть DataGridView (dgv1) в моей форме. В определенной ячейке я бы хотел, чтобы пользователь мог щелкнуть правой кнопкой мыши и выбрать «КОПИЯ», чтобы скопировать содержимое ячейки в буфер обмена. Может кто-нибудь указать мне в направлении учебник или сайт, который показывает, как это сделать в C #?

Спасибо!

Ответы [ 2 ]

18 голосов
/ 24 августа 2011

Вы можете использовать ContextMenuStrip для достижения этой цели. (Или ContextMenu для pre-VS2k5)

Выдержка из этой статьи:

ContextMenuStrip mnu = new ContextMenuStrip();
ToolStripMenuItem mnuCopy = new ToolStripMenuItem("Copy");
ToolStripMenuItem mnuCut = new ToolStripMenuItem("Cut");
ToolStripMenuItem mnuPaste = new ToolStripMenuItem("Paste");
//Assign event handlers
mnuCopy.Click += new EventHandler(mnuCopy_Click);
mnuCut.Click += new EventHandler(mnuCut_Click);
mnuPaste.Click += new EventHandler(mnuPaste_Click);
//Add to main context menu
mnu.Items.AddRange(new ToolStripItem[] { mnuCopy, mnuCut, mnuPaste});
//Assign to datagridview
dataGridView1.ContextMenuStrip = mnu;

Более подробная информация по вышеуказанной ссылке.

2 голосов
/ 24 августа 2011

Возможно, вы захотите создать контекстную таблицу для опции COPY, когда щелкнете правой кнопкой мыши.

И в свойствах datagridview в обработчике событий правого клика вы связываете эту contextmenustrip.

И при нажатии на кнопку скопировать, у вас есть другая функция, где вы говорите Clipboard.settext (Datagriditem.value)

Эта ссылка должна помочь вам выяснить, как получить меню правой кнопки мыши.

контекстное меню правой кнопкой мышидля просмотра данных

И используйте объект Clipboard.Setdata, чтобы получить данные в буфер обмена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...