Gå til innhold

Anbefalte innlegg

Hallo!

 

Har C# på skolen og har i den sammenheng fått litt interesse for å programmere litt hjemme. Holder på med et program og har laga en standard menylinje på toppen(med Fil og Hjelp). Når jeg klikker på Fil-knappen skal det(har klart dette så problemet ligger ikke her) komme opp flere valg, disse er: Hovedside, Lagre og Avslutt.

 

Jeg er ikke helt sikker på hvordan jeg definerer hva som skal skje når jeg klikker på disse knappene så jeg må få be om litt hjelp med følgende:

 

1)Hvordan kan jeg lukke form ved å klikke på en av disse knappene?

 

this.avsluttProgramToolStripMenuItem.Name = "avsluttProgramToolStripMenuItem";
this.avsluttProgramToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.A)));
this.avsluttProgramToolStripMenuItem.Size = new System.Drawing.Size(202, 22);
this.avsluttProgramToolStripMenuItem.Text = "Avslutt program";
this.avsluttProgramToolStripMenuItem.ToolTipText = "Avslutter programmer";

 

Er det her jeg må skrive koden eller er det et annet sted?

 

2)Hvordan kan jeg gjøre det sånn at det kommer opp et annet form?(dette skal inneholde en del former osv men det tror jeg at skal gå bra)

 

3)Hvordan kan jeg vise lagreprosessen i en statusbar?(om langt i prosessen programmet er)

 

Håper det er noen av dere der ute som kan hjelpe meg med dette :D

Lenke til kommentar
Videoannonse
Annonse

MSDN er din venn. Prøv å søke på ord som CLOSE.

 

For å starte en annen form

MinForm f = new MinForm();

f.show();

 

Alternativt kan du starte formen "modalt" og skrive

f.ShowDialog();

 

LagreProsess man du vise ved å endre tekst på f.eks. en Label

 

MinLabel.Text = "Vi er kommet " + prosentferdig.ToString() + " % i havn";

 

der prosentferdig er definert som en INT og inneholder til en hver tid prosentverdien.

 

Putter du den koden i en TIMER event så får du automatisk oppdatering. Du kan også lage verdien somen property og automatisere på den måten, slik:_

 

private int prosentFerdig;
public int ProsentFercig
{
 get{ return prosentFerdig;}
 set
 { 
prosentFerdig = value;
lblFerdig.text = "Vi er kommet " + prosentFerdig.ToString() + "% i havn";
 }
}

Dermed vil teksten endre seg automatisk når du f.eks. skriver:

ProsentFerdig = 30;

Endret av HDSoftware
Lenke til kommentar

Takk for det HDSW, har bare et par spørsmål. Du sier at jeg må vise LagreProsess ved å endre innholder i en label, er det helt umulig å bruke en ProgessBar som vist i vedlegget under?

 

post-130432-1238062989.jpg

 

Med TIMER event mener du da Timer.Tick event? Gjorde et raskt søk i MSDN og fant noen ulike metoder.

Lenke til kommentar

Du kan bruke den også,men det er enklere med en label i første omgang.

 

Alle kontroller har en default event. Du får skrevet kode i denne ved å dobbeltklikke på kontrollen.

 

Ofte er dette Click.

 

Skal du bruke en annen event enn click, trykker du på lynet i property-vinduet, og dobbeltklikker på den eventen du er ute etter.

Lenke til kommentar

Da prøver jeg det men ville jeg kunne bruke en progressbar om jeg setter f.eks

 

private void(navn på komponent og alt det andre som hører med)
{
kode som regner ut prosesnt verdien og lagrer den i en variabel.

progressbar.value == ProsentFerdig;
}

 

eller blir dette helt feil?

Endret av NorwegianSF
Lenke til kommentar
... Du sier at jeg må vise LagreProsess ved å endre innholder i en label, er det helt umulig å bruke en ProgessBar som vist i vedlegget under?...

Jeg har ikke sagt at du må bruke en LABEL. Jeg sier du f.eks. kan bruke en label for å gjøre dette. hva slags kontroll du ønsker å benytte er jo helt opp til deg. Men fremgangsmåten er eksakt den samme uansett hvilken kontroll du måtte benytte for å vise progresjonen

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...