Convert VB6 to C#

1

Convert VB6 to C#

offline
  • Pridružio: 01 Nov 2015
  • Poruke: 66

I am trying to make game that you have 12 random letters and with them you should make longest possible word that exist in ditionary.I want to loop through all labels and every time button is clicked each label separatly stops generating letters,when 12 label stops generating letters timer should stop.
Here is code in VB 6 that does this,in VB 6 all labels have name property lblSlovo
Private Sub lblStartStop_Click() If Not lblStartStop.Enabled Then Exit Sub If lblStartStop.Caption = "Start" Then i = 0 Timor.Enabled = True lblStartStop.Caption = "Stop" lblStartStop.Enabled = True Else lblSlovo(i).Caption = slova(i) i = i + 1 If i = 12 Then txtInput.Enabled = True lblStartStop.Enabled = False lblStartStop.Caption = "Start" Timor.Enabled = False Vreme.Enabled = True txtInput.SetFocus End If End If End Sub
How to convert this code to C#.I cannot give same name property to all labels!!!



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14809
  • Gde živiš: Niš

Možeš da napraviš polje ili listu labela, pa da im pristupaš preko indeksa kao u priloženom isečku koda.



offline
  • Pridružio: 01 Nov 2015
  • Poruke: 66

Ovako?

slova[0] = Convert.ToString(label1);             slova[1] = Convert.ToString(label2);             slova[2] = Convert.ToString(label3);             slova[3] = Convert.ToString(label4);             slova[4] = Convert.ToString(label5);             slova[5] = Convert.ToString(label6);             slova[6] = Convert.ToString(label7);             slova[7] = Convert.ToString(label8);             slova[8] = Convert.ToString(label9);             slova[9] = Convert.ToString(label10);             slova[10] = Convert.ToString(label11);             slova[11] = Convert.ToString(label12);

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14809
  • Gde živiš: Niš

Ili još lakše ovako:
for(int i = 0; i < 12; i++)   slova[i] = labele[i];

offline
  • Pridružio: 01 Nov 2015
  • Poruke: 66

Kada napisem for(int i = 0; i < 12; i++) slova[i] = label[i]; dobijem error the name label does not exist in current context!!!

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14809
  • Gde živiš: Niš

Upravo. Ako želiš da im pristupaš preko indeksa, moraš da uradiš najpre ovo:
vasa.93 ::Možeš da napraviš polje ili listu labela...

offline
  • Pridružio: 01 Nov 2015
  • Poruke: 66

Mislis na ovo:
Label[] label = new Label[] {label1, label2, label3, label4, label5, label6, label7, label8, label9, label10, label1, label2};

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14809
  • Gde živiš: Niš

Da.

offline
  • Pridružio: 01 Nov 2015
  • Poruke: 66

Sad kad napisem for(int i = 0; i < 12; i++) slova[i] = label[i]; dobijem error cannot implicitly convert type System.Windows.Forms.Label to string

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14809
  • Gde živiš: Niš

A, jest, moja greška. Treba da pokupiš Caption (a možda je i Text, proveri) property iz labele.

Nego, pobogu, zar još uvek nisi shvatio osnovne principe programiranja?

Ko je trenutno na forumu
 

Ukupno su 676 korisnika na forumu :: 13 registrovanih, 3 sakrivenih i 660 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 9k38, ALBION101, bobomicek, esx66, havoc995, hooraay, Kruger, minmatar34957, mrav pesadinac, nick79, suton, VP6919, 125