如何在c#windows窗体中调用LinkLabel控件的click事件处理程序。 [英] How to call click event handler of LinkLabel control in c# windows forms.

查看:642
本文介绍了如何在c#windows窗体中调用LinkLabel控件的click事件处理程序。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们将按钮点击事件处理程序称为

we call button click event handler as

this.SignButton_Click( sender, e );



类似地我们如何调用LinkLabel控件的click事件处理程序。

如果像这样调用


similarly how do we call click event handler of LinkLabel control.
If it is called like this

this.signPathLinkLbl_LinkClicked(sender, e);

它会抛出错误

参数2:无法从'System.EventArgs'转换为'System.Windows.Forms .LinkLabelLinkClickedEventArgs'

it throws error as
Argument 2: cannot convert from 'System.EventArgs' to 'System.Windows.Forms.LinkLabelLinkClickedEventArgs'

推荐答案

signPathLinkLbl_LinkClicked方法的声明应该是:

The declaration of your signPathLinkLbl_LinkClicked method should be:
private void signPathLinkLbl_LinkClicked(object sender, LinkClickedEventArgs e) {
   // Good one
}



而不是


instead of

private void signPathLinkLbl_LinkClicked(object sender, EventArgs e) {
   // Bad one
}





当然,您必须将控件事件连接到事件处理程序;在设计器文件中,应该有一行:



Of course, you have to wire the event of your control to the event handler; in the designer file, there should be a line:

this.signPathLinkLbl.LinkClicked += this.signPathLinkLbl_LinkClicked;


似乎你需要一些解决方法



seems you need a little workaround here

private void button1_Click(object sender, EventArgs e)
       {

           LinkLabelLinkClickedEventArgs ex = new LinkLabelLinkClickedEventArgs(linkLabel1.Links[0]);
           linkLabel1_LinkClicked(sender, ex);
       }

       private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
       {
           MessageBox.Show("link clicked");
       }



这只是一个示例做一些解决方法


this is just a sample do a little workaround on it


这篇关于如何在c#windows窗体中调用LinkLabel控件的click事件处理程序。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆