Пользовательский пользовательский элемент управления в C #… Меню правой кнопки мыши для копирования текста (Java Developer изучает C #)

2

Я работаю над настраиваемым пользовательским элементом управления, который по существу отображает пару значений имени (имя находится на черном фоне, значение на белом). Я правильно показываю свой контроль, даже появляясь в Designer и на моей странице сборки.

То, что я хотел бы сделать отсюда, - это возможность щелкнуть правой кнопкой мыши на элементе управления пользователя и открыть меню с параметром "Копировать значение", которое при выборе будет копировать значение в "значении", часть пользовательского элемента управления в буфер обмена. Каков наилучший метод подхода?

Я не уверен, с чего начать с большей части документации по пользовательским элементам управления, которые я нашел, с отображением элемента управления, не обязательно взаимодействующего с ним. Кроме того, поскольку я все еще изучаю С#, я мог бы оставить важную часть моей проблемы в этом вопросе, поэтому, пожалуйста, укажите это, если это так.

Я использую Visual Studio 2008 (если это имеет значение).

  • 0
    Winforms или вебформ?
  • 0
    Winforms (15 символов требуется в этом комментарии)
Теги:
winforms
user-controls
visual-studio-2008

2 ответа

3
Лучший ответ

Изучите ContextMenu и ContextMenu свойство других элементов управления. Назначив элемент управления ContextMenu для свойства ContextMeny другого элемента управления, вы получите прокрутку меню щелчка правой кнопкой мыши → . Затем вам нужно всего лишь реализовать событие click для различных пунктов меню в контекстном меню.

Затем вы можете использовать Clipboard.SetText (как предложено BFree), чтобы установить требуемое значение в буфер обмена.

  • 0
    Благодарю. Ваши ответы в сочетании с этим руководством ( dotnetperls.com/contextmenustrip-example ) дали мне базовое понимание, необходимое для работы.
1

Добавьте элемент управления ContextMenu. Перехватите событие MouseClick (или MouseDown, в зависимости от того, что лучше работает), и если это щелчок правой кнопкой мыши, а затем вызовите шоу в ContextMenu (есть несколько перегрузок, попробуйте с ними поработать, посмотрите, какие из них лучше всего подходят для вас). Затем, в событии click вашего контекстного меню, просто вызовите Clipboard.SetText(...), чтобы установить значение в буфер обмена.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню