Avatar billede Kennedster Nybegynder
02. november 2011 - 09:32 Der er 11 kommentarer og
1 løsning

Problemer med Windows Form i Visual Studio 2010

Hej Eksperter,

Jeg håber I kan hjælpe mig. Jeg har kæmpet med at få mit program til at virke. Jeg har en Windows Form, og noget ganske simpelt oprette bruger kode. Jeg er lige startet med at lære C#. Det går også fint, men nu er der dukket et problem op, som jeg ikke kan finde ud af at løse.

Jeg starter med at designe min windows form, opretter flere .cs filer. Dobbeltklikker på en knap og begynder at skrive koden. Så langt så godt. Nu vil jeg så lige hen og se min form igen efter at have skrevet lidt kode. Så lige så snart jeg går tilbage til min form - så nulstiller den formen. Den ser ud til at jeg lige har startet Visual Studio op og skal designe min form helt forfra. Hvis jeg dobbeltklikker på formen, så ligger alt koden der stadig. Er der en eller anden indstilling jeg overser? Håber der er en venlig sjæl som vil hjælpe mig med problemet.

På forhånd tak for hjælpen.

Mvh
Kenneth
Avatar billede Syska Mester
02. november 2011 - 10:05 #1
Nej, burde der ikke være.

Bare du ikke roder i VS "Designer" kode.

Er det noget du kan genskabe hvis du opretter nyt projekt og gør de samme ting igen? Altså at din form resetter ?

Hvad mener du egentlig med at den nustiller? Fjerner alle controls ? Selvom de stadig er i designer koden som er genereret af VS ?

Form1.Designer.cs <- Den fil må du ikke rette i.
Avatar billede Kennedster Nybegynder
02. november 2011 - 10:17 #2
Jeg roder ikke med designer koden. Jeg har prøvet at genskabe dvs. skrevet koden igen, og lavet en ny form. Men ja... den fjerner alle knapper, og tekstbokse og minimerer windows formen som om det er en hel ny form jeg har oprettet. Jeg fandt en guide inde på msdn hvordan jeg kunne reset' alle indstillingere, og vil prøve igen. Men det er bare meget utrygt, for når formen først er nulstillet, så kan jeg ikke få den tilbage. Har spurgt 2 programmører på mit arbejde, men de er også uforstående overfor hvorfor den gør det. Og det er ikke min maskine, for har prøvet på 2 forskellige computere... Any ideas? :)
Avatar billede Syska Mester
02. november 2011 - 10:33 #3
Dvs du kan genskabe dette problem på andre computere end den du sidder ved lige nu?

mvh
Avatar billede Kennedster Nybegynder
02. november 2011 - 11:20 #4
Jep, og nu har den lige gjort det igen efter jeg har tastet dette:

  public partial class btnHent : Form
    {
        ArrayList al = new ArrayList();

        public btnHent()
Jeg har en hent knap jeg har på min form. Nu er alle mine knapper og bokse væk fra formen, den har nulstillet sig selv. Det burde da ikke have noget med koden at gøre, vel??
Jeg har en FileController kode som ser sådan ud:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Collections;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

namespace WindowsFormsApplicationPostansansatte
{
    class FileController
    {

        public static void WriteFile(ArrayList a, string filename)
        {
            FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.None);
            BinaryFormatter bf = new BinaryFormatter();
            bf.Serialize(fs, a);
            fs.Close();
        }

        public static ArrayList ReadFile(string filename)
        {
            FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.None);
            BinaryFormatter bf = new BinaryFormatter();
            ArrayList a = (ArrayList)bf.Deserialize(fs);
            fs.Close();
            return a;
        }
    }
}
Avatar billede Kennedster Nybegynder
02. november 2011 - 11:43 #5
Nu ser jeg at den har tilføjet dette, efter jeg dobbeltklikker på den "nye" form:

private void InitializeComponent()
        {
            this.SuspendLayout();
            //
            // btnHent
            //
            this.ClientSize = new System.Drawing.Size(284, 262);
            this.Name = "btnHent";
            this.Load += new System.EventHandler(this.btnHent_Load);
            this.ResumeLayout(false);

        }
Er det derfor jeg ikke kan se min form?

Hvordan undgår jeg dette fremover, og hvad skal jeg gøre for at slå det fra?

Jeg værdsætter meget den hjælp jeg kan få.

Mvh
Kenneth
Avatar billede Syska Mester
02. november 2011 - 11:49 #6
Overstående er fra din designer kode og den skal du holde fingre fra, den VS kan fidne på at ændre i den, og dermed fjerne dine ting du tilføjer den fil.

Oversteånde er der vel ikke noget mystisk i ... den fortæller bare hvor din knap skal være. Så den ved Runtime og i designeren hvor den skal placere din knap.

Jeg må nok sige at jeg er lidt lost. Hvis du siger du kan genskabe det på alle Visual Studio 2010 installationer i WinForms ... så ville jeg nok sende en bug ind i MS.

Jeg tvivler dog ... jeg tror du må have nogle steps et sted som gør at det går galt.
Avatar billede Kennedster Nybegynder
02. november 2011 - 12:50 #7
Ja... noget går der i hvert fald galt. Jeg har fundet ud af at det er efter jeg indsætter ArrayList og min FileController. Og det er jo på begge maskiner, så det er ikke en PC fejl.
Avatar billede Syska Mester
02. november 2011 - 14:10 #8
Nu lyder det ikke som et hemmeligt projekt, men kan du smide det online som en pakket fil ... kunne være sjovt lige at kigge lidt på om man kan finde fejlen.

Jeg er af den type som hader uforklarlige fejl og vil finde en løsning :-)

mvh
Avatar billede Kennedster Nybegynder
02. november 2011 - 14:39 #9
Er det muligt jeg kan maile det til dig? Du kan sende din email adresse til min mail: kenneth.lrs@gmail.com
Det vil være super hvis du vil se på det.
Hemmeligt er det langt fra. Det er et merkonom fag - Softwareteknologi - Et posthus vi skal lave. Så revolutionerende er det langt fra :-) Men man skal jo lære det, og det er vildt spændende. Men jeg kan sende det til dig i .rar fil på mail hvis det er ok?

Mvh
Kenneth
Avatar billede Syska Mester
02. november 2011 - 16:56 #10
Du kan smide det her: http://www.mediafire.com/ eller lignende service.

mvh
Avatar billede Kennedster Nybegynder
02. november 2011 - 23:29 #11
Tak for det.
Jeg fandt løsningen. På en eller anden måde havde jeg 2 {
            InitializeComponent();
        }
Og det kunne den ikke finde ud af, så formen nulstillede. Men da jeg slettede den ene, så var alle mine knapper og lignende tilbage igen. Så helt væk var de dog ikke.
Men tak for din indsats. Hvordan giver jeg dig point. Skal du bare svare på denne? Hvis, så gør det og jeg giver dig point som tak for hjælpen :)

Mvh
Kenneth
Avatar billede Syska Mester
02. november 2011 - 23:37 #12
svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester