C# 4.0 如何在自定义超链接按钮上创建右键单击和中键单击事件?
我正在创建来自Silverlight HyperlinkButton的自定义超链接按钮,我想在其上创建右键单击和中键单击事件。请给我一些帮助 谢谢,C# 4.0 如何在自定义超链接按钮上创建右键单击和中键单击事件?,c#-4.0,silverlight-5.0,C# 4.0,Silverlight 5.0,我正在创建来自Silverlight HyperlinkButton的自定义超链接按钮,我想在其上创建右键单击和中键单击事件。请给我一些帮助 谢谢, Gobind我会添加两个事件(如MiddleClick和rightsclick),然后处理MouseUp(或者MouseDown,如果您想向下截取),然后根据MouseUp事件的详细信息触发两个事件中的一个。例如: public MyControl() { InitializeComponent(); MouseUp += OnMo
Gobind我会添加两个事件(如
MiddleClick
和rightsclick
),然后处理MouseUp
(或者MouseDown
,如果您想向下截取),然后根据MouseUp事件的详细信息触发两个事件中的一个。例如:
public MyControl()
{
InitializeComponent();
MouseUp += OnMouseUp;
}
void OnMouseUp(object sender, MouseButtonEventArgs e)
{
if (e.ChangedButton == MouseButton.Middle)
{
OnMiddleClick(e);
e.Handled = true;
return;
}
if (e.ChangedButton == MouseButton.Right)
{
OnRightClick(e);
e.Handled = true;
return;
}
}
public event MouseButtonEventHandler RightClick;
protected virtual void OnRightClick(MouseButtonEventArgs e)
{
var handler = RightClick;
if (handler != null) handler(this, e);
}
public event MouseButtonEventHandler MiddleClick;
protected virtual void OnMiddleClick(MouseButtonEventArgs e)
{
var handler = MiddleClick;
if (handler != null) handler(this, e);
}
谢谢你的回复,彼得。我正在使用Silverlight超链接按钮,Silverlight中不存在MouseUp事件。我可以在MouseRightButtonUp上创建右键单击,但我需要使用JavaScript创建中键单击,因为我在web上读了很多书,没有办法使用xaml/C来监听中键单击。那么我能知道如何使用JS收听鼠标中键吗??