---
title: "Hjälp med att översätta från VB till C#"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/81019-hjälp-med-att-översätta-från-vb-till-c"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Engine^"
published: "2003-07-01T16:23:22.000Z"
updated: "2003-07-06T21:21:14.000Z"
replies: 7
views: 383
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/81019-hjälp-med-att-översätta-från-vb-till-c"
---

# Hjälp med att översätta från VB till C#

## #1 — Engine^, 2003-07-01T16:23Z

Jag sitter och kollar på [Using ASP.NET Code-Behind Without Visual Studio.NET](http://www.asp101.com/articles/john/codebehindnovs/) och jag tycker det är väldigt intressant. Tyvärr, så är VB inte min kopp med te...

Skulle någon kunna hjälpa till med översättning av deklarationerna i den här kodsnutten till C#? Det är väl mest WithEvents och Handles jag inte får något grepp om, men all hjälp uppskattas.

```
Public Class WebForm2
    Inherits System.Web.UI.Page
    Protected WithEvents Button1 As System.Web.UI.WebControls.Button
    Protected WithEvents Label1 As System.Web.UI.WebControls.Label

    Private Sub Button1_Click(ByVal sender As System.Object, _
      ByVal e As System.EventArgs) Handles Button1.Click

        Label1.Text = "I was clicked at: " & System.DateTime.Now

    End Sub
End Class
```

Permalänk: https://www.webforum.nu/p/81019

## #2 — Engine^, 2003-07-01T16:29Z

Jag tror jag har kommit fram till att Handles i VB motsvaras i C# av att man använder sig av *new System.EventHandler()*, men hur detta hänger ihop med WithEvents och hur/var EventHandlern ska skrivas undviker mig än så länge :l

Permalänk: https://www.webforum.nu/p/1099319

## #3 — P, 2003-07-01T17:49Z

```
Protected WithEvents Button1 As System.Web.UI.WebControls.Button
```

Vs.net genererar detta när du i detta fall slänger ut en button i aspx sida. 

Rätta mig om jag har fel men gör inte "WithEvents" att du kan använda den efter "Handles", eller funkar det annars också?

Permalänk: https://www.webforum.nu/p/1099382

## #4 — Engine^, 2003-07-01T19:07Z

Jo, det är precis så den fungerar, men jag är mer nyfiken på hur man implementerar detta med C#. Jag har än så länge problem med att instantiera EventHandlern. Jag har dock hittat ett trevligt exempel på MSDN med Events och delegates, så en lösning borde vara klar snart.

Permalänk: https://www.webforum.nu/p/1099446

## #5 — Engine^, 2003-07-01T21:49Z

Tja... jag har väl fått till en EventHandler, men långt ifrån på det sätt jag vill är jag rädd för...

cbtest.aspx

```
<%@ Page Language="C#" AutoEventWireup="False" Debug="True" Src="/codebehind/cbtest.aspx.cs" Inherits="cTest"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
  <title>CodeBehind test</title>
</head>

<body>
  <form id="frmTest" method="post" runat="server">
    <asp:Button id="btnTest" Text="Button" Onclick="btnTest_Click" runat="server" />
    <br>
    <asp:Label id="lblTest" runat="server">Test</asp:Label>
  </form>
</body>

</html>
```

och cbtest.aspx.cs

```
using System;
using System.ComponentModel;

public class cTest : System.Web.UI.Page
{
  protected System.Web.UI.WebControls.Label lblTest = new System.Web.UI.WebControls.Label();
	
  public void btnTest_Click(object objSrc, EventArgs e)
  {
    lblTest.Text = "Klickad: " + System.DateTime.Now;
  }
}
```

Det jag vill åstadkomma är att komma bort från att sätta OnClick="btnTest_Click" i själva \<asp:Button\>-taggen och istället bygga en EventHandler för taggen, som hanterar ett onclick, men det verkar vara betydligt svårare än vad jag trodde från början. Det verkar ju barnsligt enkelt att göra det med VB :l så jag tar gärna emot tips vad gäller att göra detsamma i C#.

Permalänk: https://www.webforum.nu/p/1099582

## #6 — niko, 2003-07-01T22:30Z

Om man tjuvkikar i VS.NET så gör den ungefär så här:

```
using System;
using System.ComponentModel;

public class cTest : System.Web.UI.Page
{
  protected System.Web.UI.WebControls.Label lblTest;
  protected System.Web.UI.WebControls.Button btnTest;

  override protected void OnInit(EventArgs e)
  {
	[b]this.btnTest.Click += new System.EventHandler(btnTest_Click);[/b]
	base.OnInit(e);
  }

  public void btnTest_Click(object objSrc, EventArgs e)
  {
    lblTest.Text = "Klickad: " + System.DateTime.Now;
  }
}
```

Det funkar även att lägga den fetmarkerade raden i events som kör efter *OnInit*, tex *Load*.

Permalänk: https://www.webforum.nu/p/1099601

## #7 — Engine^, 2003-07-02T08:20Z

Nämen :) Det ser ju faktiskt inte alls så komplicerat ut som jag hade väntat mig... helt plötsligt vill jag inte sitta på jobbet nu... jag vill hem och testa vidare ;)

Man tackar **niko**!

Permalänk: https://www.webforum.nu/p/1099697

## #8 — ulfe, 2003-07-06T21:21Z

<http://www.ellkay.com/ConvertVB2CSharp.htm>

kan kanske vara "go" att kolla på om du har fler konverteringar att göra.

Permalänk: https://www.webforum.nu/p/1105117

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/81019-hjälp-med-att-översätta-från-vb-till-c
