как заставить linkLabel действовать как простая гиперссылка при щелчке правой кнопкой мыши в .net winforms

есть ли способы заставить linkLabel (.net 4.0) работать как простая гиперссылка при щелчке правой кнопкой мыши - я имею в виду открытие меню с помощью «открыть в новой вкладке», «открыть в новом окне» и так далее.

если нет, есть ли способ разработать пользовательский элемент управления, который будет действовать так?

на самом деле мне просто нужно иметь возможность инкапсулировать простую гиперссылку в какой-то элемент управления.


person Boltosaurus    schedule 23.02.2012    source источник
comment
Почему бы вам просто не установить его свойство ContextMenuStrip?   -  person Hans Passant    schedule 23.02.2012


Ответы (1)


При нажатии кнопки мыши для вашей метки ссылки, когда вы определяете, что это правая кнопка мыши, откройте контекстное меню и отобразите параметры, которые вы хотите показать.

private void OnMyLinkLableMouseDownEvent(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Right)
    {
        //Show menu with required options
    }
}

Если вы планируете использовать это в нескольких местах в своем приложении, создайте производный тип из метки ссылки и добавьте к нему этот обработчик событий.

Благодаря Hans Passant: вы также можете использовать свойство ContextMenu (или свойство ContextMenuStrip, не зная, какое), если параметры меню никогда не будет меняться для разных экземпляров LinkLabel.

person Maheep    schedule 23.02.2012