VS2017 C#与VB创建事件

时间:2018-05-26 16:25:27

标签: c# .net vb.net visual-studio

在尝试编写VB代码多年之后,我试图熟悉C#。

我试图在我的代码中添加新事件。在VB中,可以轻松访问可用事件列表,但在C#中并非如此,我也不了解差异的原因。

我查了几本试图找到解释的书无济于事。

有人可以告诉我差异的原因和/或是否有一种简单的方法可以将新事件添加到我的C#代码中?

VB IDE Event List

C# IDE Event List

1 个答案:

答案 0 :(得分:4)

  

在VB中,可以轻松访问可用事件列表,但在C#中并非如此,我不明白差异的原因。

是的,这是两种语言之间众所周知的差异,这使得VB中的事件处理比C#更容易。

  

有人可以告诉我差异的原因和/或是否有一种简单的方法可以将新事件添加到我的C#代码中?

没有合乎逻辑的理由,除了这两种语言是由两个不同的团队完成的,他们并没有真正沟通并做出不同的决定。 VB总是让GUI变得尽可能简单易行。另一方面,C#针对的是更有经验的开发人员,他们通常喜欢使用GUI进行打字和快捷方式。

如果您更喜欢GUI而不是键入,那么在C#中执行此操作最简单的方法是选择表单或控件,打开其属性,切换到事件列表,然后双击所需的事件。这将自动切换到代码并为您插入类似于VB的事件样板。

对于默认事件(例如import java.io.IOException; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpRequest; import org.springframework.http.client.ClientHttpRequestExecution; import org.springframework.http.client.ClientHttpRequestInterceptor; import org.springframework.http.client.ClientHttpResponse; public class XUserAgentInterceptor implements ClientHttpRequestInterceptor { @Override public ClientHttpResponse intercept( HttpRequest request, byte[] body, ClientHttpRequestExecution execution) throws IOException { HttpHeaders headers = request.getHeaders(); headers.add("X-User-Agent", "My App v2.1"); return execution.execute(request, body); } } ),您只需在设计模式中双击表单或控件即可执行上述操作。

或者,将“设计”视图切换到“源”视图,转到表单或控件标记并键入所需的事件,它将自动为您添加OnClick。在双引号之间单击,然后选择默认事件名称,它将执行上述操作。