Gå til innhold

C#: Helt fersk i C#, trenger hjelp og forklaring på feil


Anbefalte innlegg

Heihei. Dere kommer neppe til få noen utfordring på dette her, men jeg lurer på hvorfor jeg får følgende feil og hva som er løsningen.

 

Det som skjer er at Form2 skal vise seg så snart "i" (integer) blir 20. Problemet er at Visual C# 2008 begynner å klage om at void plutselig ikke er gyldig lenger og masse annet tullball som ikke gir noen mening.

 

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Moro
{
   public partial class Form1 : Form
   {
       int i = 0;
       public Form1()
       {
           InitializeComponent();
       }

       private void button1_Click(object sender, EventArgs e)
       {
           i++;
           MessageBox.Show("Hello World!", "Greeting"); 
           label1.Text = ("Denne knappen har blitt presset " + i + " ganger");
           progressBar1.Value = i;
       }

   { if (i);
       = 10

       Then
           Form2.show();

   }
       private void label1_Click(object sender, EventArgs e)
       {

       }

       private void Form1_Load(object sender, EventArgs e)
       {

       }

       private void progressBar1_Click(object sender, EventArgs e)
       {

       }
   }
}

lololo.JPG

Lenke til kommentar
Videoannonse
Annonse

Grey: Det er helt sikkert i den linjen feilen ligger.

 

 

Takk Jankee, skal prøve det.

 

Edit:

 

Feilen ligger i denne snutten:

 

    { if (i);
       = 10

       Then
           Form2.show();
"Her skulle det vært en "}""

 

Med en gang jeg sette på en "}" så feiler Private void-kommandoene til de andre objektene.

dsadsd.PNG

Endret av Gavekort
Lenke til kommentar

Du har eit sett med {} for mykje

 

I tillegg meiner eg det er syntaxfeil på ifsetningen

 

if(i); er feil etter kva eg husker på c#

 

Meir rett er:

Metodenavn()

{ //all kode som skal ligge i metoden

 

if(i>10) {

kode som skal utføres viss i er mindre enn 10

}

}//avslutning av metoden

Lenke til kommentar

No har eg ikkje VS tilgjengeleg og har heller ikkje nko C#-plugin for eclipse inne så eg får ikkje heilt vurdert om koden skal fungere no, så det blir javakunnskapene mine som gjer peikepinnen om det skal gå eller ikkje.

 

 

men nokre småpunkt har eg:

Variableme som du tilordner verdier inne i denne metoden, kvar er desse initialisert?

og If-setningen skal den vises opp til 10 visninger eller etter 10 visninger?

Slik du hadde skrive det såg det mest ut som du ville ha det vist når i var lik 10.

Lenke til kommentar

Jeg gikk for din kode og fikk fjernet de fleste problemene.

 

Nå sliter jeg derimot med at Form2.Show() ikke fungerer... Er det mine VB 6.0 kunnskaper som krasjer med C# her eller er det rett syntax?

 

Beklager at jeg gjør det vanskelig for dere, men jeg har nettopp startet med C# og har ikke helt oversikten i det enda. :)

GAFFGAFF.PNG

Lenke til kommentar

As you wish!

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Moro
{
   public partial class Form1 : Form
   {
       int i = 0;

       public Form1()
       {
           InitializeComponent();
       }



       private void button1_Click(object sender, EventArgs e)

       {

           i++;
           MessageBox.Show("Hello World!", "Greeting"); 
           label1.Text = ("Denne knappen har blitt presset " + i + " ganger");
           progressBar1.Value = i;


           if (i < 10)

               Form2.Show(); 

       }






       private void label1_Click(object sender, EventArgs e)
       {

       }

       private void Form1_Load(object sender, EventArgs e)
       {

       }

       private void progressBar1_Click(object sender, EventArgs e)
       {

       }
   }
}

Lenke til kommentar

All kunnskap jeg har om C# er såkalt "glemt kunnskap", derfor skal jeg ikke bastant påstå noe, jeg tenker bare høyt:

 

Istedet for følgende:

Form2.show();

Kunne du ha prøvd med:

Form1.show();

?

 

Bare for å prøve noe.

Endret av greygenic
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...