Question

I was wondering if anyone would be able to help me convert the below code to c#? From what I have read it seems to be similar however I am not sure if my 'case' statements are still able to be used?

Public Class Form1

    Dim dteStart As Date
    Dim dteFinish As Date
    Dim span As TimeSpan

    Public Sub KeyDown(ByVal Sender As System.Object, ByVal e As  _
    System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown

        Select Case e.KeyCode
            Case Keys.Q
                Label1.BackColor = Color.Green
                dteStart = Now()
            Case Keys.W
                Label2.BackColor = Color.Green
            Case Keys.E
                Label3.BackColor = Color.Green
            Case Keys.R
                Label4.BackColor = Color.Green
                dteFinish = Now()
                span = dteFinish.Subtract(dteStart)
                Label5.Text = span.ToString

        End Select

    End Sub

    Public Sub KeyUp(ByVal Sender As System.Object, ByVal e As  _
   System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp

        Select Case e.KeyCode
            Case Keys.Q
                Label1.BackColor = Color.Red
            Case Keys.W
                Label2.BackColor = Color.Red
            Case Keys.E
                Label3.BackColor = Color.Red
            Case Keys.R
                Label4.BackColor = Color.Red
        End Select

    End Sub
End Class
Was it helpful?

Solution

You can use online tools for converting C# to Vb or vice versa

http://www.developerfusion.com/tools/convert/vb-to-csharp/

OTHER TIPS

This is not the place for "Do this for me" requests. For this, you can hire a programmer.

This is place to ask for advice or guidance after you already tried something on your own.

Anyway, I will show you how to convert Select Case to its C# equivalent, you can take it from there.

Sample code for one of the statements:

switch (e.KeyCode)
{
    case Keys.Q:
        Label1.BackColor = Color.Red;
        break;
    case Keys.W:
        Label2.BackColor = Color.Red;
        break;
    //.....
}

Things to notice:

  1. Like anything in C#, case matters - so for example Case must become case.
  2. You have to add break after each case.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;

public class Form1
{

    System.DateTime dateStart;
    System.DateTime dteFinish;

    TimeSpan span;

    public void KeyDown(System.Object Sender, System.Windows.Forms.KeyEventArgs e)
    {
        switch (e.KeyCode) {
            case Keys.Q:
                Label1.BackColor = Color.Green;
                dteStart = DateAndTime.Now();
                break;
            case Keys.W:
                Label2.BackColor = Color.Green;
                break;
            case Keys.E:
                Label3.BackColor = Color.Green;
                break;
            case Keys.R:
                Label4.BackColor = Color.Green;
                dteFinish = DateAndTime.Now();
                span = dteFinish.Subtract(dteStart);
                Label5.Text = span.ToString();

                break;
        }

    }


    public void KeyUp(System.Object Sender, System.Windows.Forms.KeyEventArgs e)
    {
        switch (e.KeyCode) {
            case Keys.Q:
                Label1.BackColor = Color.Red;
                break;
            case Keys.W:
                Label2.BackColor = Color.Red;
                break;
            case Keys.E:
                Label3.BackColor = Color.Red;
                break;
            case Keys.R:
                Label4.BackColor = Color.Red;
                break;
        }

    }
    public Form1()
    {
        KeyUp += KeyUp;
        KeyDown += KeyDown;
    }
}

Used this online tool to convert your code:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
public class Form1
{

    System.DateTime dteStart;
    System.DateTime dteFinish;

    TimeSpan span;

    public void KeyDown(System.Object Sender, System.Windows.Forms.KeyEventArgs e)
    {
        switch (e.KeyCode) {
            case Keys.Q:
                Label1.BackColor = Color.Green;
                dteStart = DateAndTime.Now();
                break;
            case Keys.W:
                Label2.BackColor = Color.Green;
                break;
            case Keys.E:
                Label3.BackColor = Color.Green;
                break;
            case Keys.R:
                Label4.BackColor = Color.Green;
                dteFinish = DateAndTime.Now();
                span = dteFinish.Subtract(dteStart);
                Label5.Text = span.ToString();

                break;
        }

    }


    public void KeyUp(System.Object Sender, System.Windows.Forms.KeyEventArgs e)
    {
        switch (e.KeyCode) {
            case Keys.Q:
                Label1.BackColor = Color.Red;
                break;
            case Keys.W:
                Label2.BackColor = Color.Red;
                break;
            case Keys.E:
                Label3.BackColor = Color.Red;
                break;
            case Keys.R:
                Label4.BackColor = Color.Red;
                break;
        }

    }
    public Form1()
    {
        KeyUp += KeyUp;
        KeyDown += KeyDown;
    }
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top