Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 链接标签。单击:InvalidCastexception on EventArgs_.net_Vb.net_Visual Studio 2010 - Fatal编程技术网

.net 链接标签。单击:InvalidCastexception on EventArgs

.net 链接标签。单击:InvalidCastexception on EventArgs,.net,vb.net,visual-studio-2010,.net,Vb.net,Visual Studio 2010,在VisualStudio2010中,我将标准链接标签拖动到表单上。I双击标签以生成单击事件处理程序 这将产生以下结果: Private Sub lnkDoc_LinkClicked(sender As System.Object, e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles lnkDoc.Click Process.Start(....) End Sub 当运行(无构建错误)&单击链接时发生以下错误

VisualStudio2010
中,我将
标准链接标签拖动到表单上。I
双击标签以生成
单击事件处理程序

这将产生以下结果:

Private Sub lnkDoc_LinkClicked(sender As System.Object, e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles lnkDoc.Click
    Process.Start(....)
End Sub
运行(无构建错误)&单击链接时发生以下错误:

JIT-Exception:
System.InvalidCastException: Unable to cast object of type 'System.Windows.Forms.MouseEventArgs' to type 'System.Windows.Forms.LinkLabelLinkClickedEventArgs'.
当我
更改
事件处理程序
以使用
MouseEventsArgs
时,我不会遇到任何问题

   Private Sub lnkDoc_LinkClicked(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles lnkDoc.Click
        Process.Start(....)
    End Sub
问题: 为什么Visual Studio会提供使用“
LinkLabelLinkClickedEventArgs
”而不是所需的“
mouseeEventArgs
”,我如何保护自己在将来避免此类错误

注意:

:提供LinkClicked事件的数据


:提供MouseUp、MouseDown和MouseMove事件的数据。

它们都是两个不同的事件,分别是和。在“属性”框中,查看事件,您将看到,如果要自动生成方法,只需双击相应事件下的字段

见:

通常,当 用户单击控件中的链接。事件的事件处理程序
LinkClicked
事件被传递给
LinkLabelLinkClickedEventArgs
类,该类包含一个
LinkLabel.Link
对象,该对象与单击的链接关联。你可以用 LinkLabel.Link的LinkData属性中指定的信息 类来确定单击了哪个链接或要执行的任务类型 单击链接时执行。例如,如果一个
LinkLabel
控件 定义了一个
LinkLabel.Link
对象,其LinkData属性设置为 字符串www.microsoft.com,您可以在事件中使用此信息 LinkClicked事件的处理程序以显示网站


您是否注意到您处理的是单击事件而不是
LinkClicked
-事件?@TimSchmelter:确实如此。我至今没有注意到。我必须把注意力集中在生成的函数名上。现在它开始变得更有意义了;