0

对某些人来说,这似乎是一个有趣的问题,但我来自 VB,所以看起来有点奇怪。为什么当您从另一个窗体复制控件然后将代码复制到 c# 中的代码中时,即使它在 Visual Studio 中有控件名称和事件,它也不会自动绑定到该控件?

我知道 VB 有额外的代码来显示它处理控件事件,所以它使它有点不同,但它使得从其他地方粘贴大量代码变得困难。所以我倾向于怀疑我是否遗漏了一些东西。

我注意到的另一件事是在 Visual Studio 中使用 VB.net,代码编辑器有一个事件下拉列表,显示所有控件事件,而在 C# 中它只显示其中包含代码的事件。在 VS 中查看所有事件的唯一方法是属性资源管理器的事件列。

再次为我的无知感到抱歉,但我想确保我尽可能高效,并想确保我没有关闭某些选项或其他东西。

4

1 回答 1

1

对于 VB 的人来说,这是一个常见的抱怨。VB.Net 使用“WithEvents/Handles”组合来允许代码处理事件,这就是您可以将代码复制粘贴到不同形式的原因。C# 没有这样的等价物。你可以在 C# 中做一些事情,但是 VB.Net 做不到。例如,您可以在代码中连接一个事件,IDE 会自动为您插入一个带有正确签名的方法存根。要在 VB 中执行此操作,需要在类级别单独声明 WithEvents,然后从 IDE 的下拉列表中选择控件/事件。两者都不是更好,只是不同!

于 2013-05-04T20:38:58.840 回答