在捕获事件的情况下,VB.NET中是否有方法在代码片段上复制C#行为?VB.NET中的代码片段快捷键?
I.E. C:
Btn.Click+=
然后双击tab。为btn.click事件创建一个处理程序。
在捕获事件的情况下,VB.NET中是否有方法在代码片段上复制C#行为?VB.NET中的代码片段快捷键?
I.E. C:
Btn.Click+=
然后双击tab。为btn.click事件创建一个处理程序。
在C#中,只能使用+=
明确地连接事件。 VB相当于AddHandler
。
但VB也让你connect events implicitly using the Handles
keyword。注意VB事件处理比C#更灵活。
有几种方法可以使用Handles
自动创建事件处理程序代码。
在设计视图中,只需双击按钮即可。
或者,在设计视图中再次:
一个。在按钮的属性窗口中,单击“闪电”查看事件。
b。双击Click
事件。
或者,在代码视图,你可以在窗口
一个顶部使用两下拉列表。选择左侧的按钮。
b。选择右边的Click
事件。
编辑:2010年VB.Net,你可以处理事件与statement lambdas。例如:
AddHandler b.Click, _
Sub(sender As Object, e As EventArgs)
MsgBox("Button Clicked")
'insert more complex logic here
End Sub
好了,也许你知道有关处理和匿名方法隐含的事件,你仍然决定你真的需要从AddHandler
线了明确的本地方法的所有时间。也许有一个支持它的第三方加载项。也许CodeRush呢,我不知道(如果有人知道,请留下评论)。或者你甚至可以创建自己的加载项。
我会从列表中选择。看起来我忘了我所有可怕的VB6技能......我现在太宠坏了。 – Faruz 2010-11-15 14:03:19
奇怪的是VB.NET团队没有在Visual Studio中实现这样的功能。
@Frauz,我明白你的挫败感:-) – 2010-11-15 07:41:03
@法鲁兹,@达林。没有明确连接事件的捷径。但在VB中,[隐式连接事件]更为常见(http://stackoverflow.com/questions/2547033/what-is-the-difference-between-events-in-vb-and-c/2547083#2547083)。这可能是为什么没有显式方法的捷径。 [我的答案列出了一些快捷方式]隐式方法(http://stackoverflow.com/questions/4182177/code-snippets-shortkey-in-vb-net/4183940#4183940)。 – MarkJ 2010-11-15 11:42:05
@法鲁兹,@达林。你越了解*任何*语言,就越不会感到沮丧。 C#和VB之间只有[很少区别](http://visualstudiomagazine.com/columns/article.aspx?editorialsid=2894),它们[很容易学会](http://stackoverflow.com/q/ 15639分之1337253)。 – MarkJ 2010-11-15 11:43:17
听起来很愚蠢,但通常它适用于在线记录的事件:谷歌它和从示例复制/粘贴处理程序声明。我知道,这并没有回答这个问题,但比悬停事件成员几乎不读它的工具提示更好,并且成为诸如'dte.Events.CommandEvents.BeforeExecute'之类的简单解决方法' – 2015-11-05 03:34:40