如何在c#windows窗体中调用LinkLabel控件的click事件处理程序。 [英] How to call click event handler of LinkLabel control in c# windows forms.
本文介绍了如何在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屋!
查看全文