Convert this VB code to C#? [closed]
-
26-05-2021 - |
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
Solution
You can use online tools for converting C# to Vb or vice versa
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:
- Like anything in C#, case matters - so for example
Case
must becomecase
. - 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