Avatar billede wulffdk Nybegynder
29. maj 2007 - 21:59 Der er 4 kommentarer

Form håndtering

jeg er i gagn emd et projekt hvor jeg skal lave et program hvor jeg kan styre brugen af comptueren ved at indkaste mønter i et møntindkast som jeg har lavet noget USB hardware til. mit program henter så værdier fra en emuleret seriel forbindelse og åbner for brugen af computeren igen.
mit problem er håndteringen af de forskellige forms jeg har brug for.
mine forms er:
1: en login form der bruges til at indtaste admin password for at kunne ændre i indstillinger og rettigheder på computeren.
2: mit hovedvindue hvor alle opsætninger foretages, COM prtnavn, rettigheder osv.
3: en splashscreen der bruges når tiden er udløbet og der skal indkastes flere penge.
4: et lille vindue der sakl være ontop altid, hvor den resterende tid vises som et ur.

Spørgsmål 1:
jeg bruger denne kommando for at åbne mit hovedvindue fra login formen
                Form1 main = new Form1();
                main.ShowDialog();
problemet med dette er blot at jeg så hver gang der logges ind for åbnet en ny hovedform, hvordan gøres dette således det er den samme form der blot vises igen. Når hovedformen lukkes bruges   
                      Hide();
dette bruges da formen ikke behøver og blive lukket, men blot gemt væk, hoved vinduet har også en statistik funktion og er derfor en go ide at holde åben. Det skal også tilføjes at min login form genåbnes ved hjælp af et NotifyIcon i processlinien. det jeg søger en læsning på er altså hvordan jeg fra min login form kan vise hovedvinduet igen, lidt som jeg i selve hovedvidueskoden kan bruge kommandoen            Show();

spørgsmål 2:
jeg har i hvoedvidnuet lavet en funktion til at illustrere den resterende tid der er købt. det er jo blot ikke her jeg skal bruge denne visning da "kunden"/brugeren jo ikke skal se dette vindue normalt. jeg skal derfor ha lavet det sådan at et lille vindue vises i nederste højre hjørne hvor dette "ur" vises med de korrekte tider, men kan ikek finde ud af hvordan jeg kommer til at tilgå disse variabler på denne anden form.

Håber en eller flere derude har bud på hvordan jeg gøre disse ting.

Michael
Avatar billede Slettet bruger
29. maj 2007 - 23:47 #1
Gør det at du åbne login formen fra dit main vindue, og hvis du ikke vil vise main så siger du bare Hide() på den lige efter du kalder New login form()

Så kan du sige fra main:

LoginForm LF = new LoginForm();
this.Hide();

if(LF.ShowDialog() == DialogResult.OK)
{
    this.Show();
}


Så viser du login, skjuler main.. når login lukker vises main igen
Avatar billede Slettet bruger
29. maj 2007 - 23:51 #2
Hvis du vil overfører variabler fra form til form, kan du gøre det på denne måde



Fra din main:

Public int MinVar = 5;

Form2 F2 = new Form2(this);
F2.Show();



////////////////Form2 code

private form1 f1;

Public Form2(form1 f1)
{
    this.f1 = f1;
}

////////////////////////

Så kan du fra din form2, tilgå form1's PUBLIC variabler via f1.

fx f1.MinVar = 10;
Avatar billede wulffdk Nybegynder
30. maj 2007 - 00:13 #3
hvor skal
if(LF.ShowDialog() == DialogResult.OK)
{
    this.Show();
}
placeres for at jeg igen for vist min main når jeg har indtastet den korrekte kode, for ligger jeg den under
        public Form1()
        {
            Login LF = new Login();
            this.Hide();

            if (LF.ShowDialog() == DialogResult.OK)
            {
                this.Show();
            }
           
            InitializeComponent();
        }
for jeg godt nok vist kun min login form, men når jeg indtaster koden hider denne bare væk og så sker der ik mere.. hvordan gør jeg det?
Avatar billede Slettet bruger
30. maj 2007 - 11:32 #4
main bliver vist når login form lukker, som jeg skrev
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