Я работаю над настраиваемым пользовательским элементом управления, который по существу отображает пару значений имени (имя находится на черном фоне, значение на белом). Я правильно показываю свой контроль, даже появляясь в Designer и на моей странице сборки.
То, что я хотел бы сделать отсюда, - это возможность щелкнуть правой кнопкой мыши на элементе управления пользователя и открыть меню с параметром "Копировать значение", которое при выборе будет копировать значение в "значении", часть пользовательского элемента управления в буфер обмена. Каков наилучший метод подхода?
Я не уверен, с чего начать с большей части документации по пользовательским элементам управления, которые я нашел, с отображением элемента управления, не обязательно взаимодействующего с ним. Кроме того, поскольку я все еще изучаю С#, я мог бы оставить важную часть моей проблемы в этом вопросе, поэтому, пожалуйста, укажите это, если это так.
Я использую Visual Studio 2008 (если это имеет значение).
Изучите ContextMenu
и ContextMenu
свойство других элементов управления. Назначив элемент управления ContextMenu для свойства ContextMeny другого элемента управления, вы получите прокрутку меню щелчка правой кнопкой мыши → . Затем вам нужно всего лишь реализовать событие click для различных пунктов меню в контекстном меню.
Затем вы можете использовать Clipboard.SetText
(как предложено BFree), чтобы установить требуемое значение в буфер обмена.
Добавьте элемент управления ContextMenu. Перехватите событие MouseClick (или MouseDown, в зависимости от того, что лучше работает), и если это щелчок правой кнопкой мыши, а затем вызовите шоу в ContextMenu (есть несколько перегрузок, попробуйте с ними поработать, посмотрите, какие из них лучше всего подходят для вас). Затем, в событии click вашего контекстного меню, просто вызовите Clipboard.SetText(...), чтобы установить значение в буфер обмена.