Avatar billede unknown_someone Juniormester
27. marts 2007 - 09:21 Der er 9 kommentarer og
1 løsning

windows applikation med flere ui

Har kigget en smule på udvikling af windows-applikationer men er stødt på et lille problem. Jeg kan sagtens lave en simpel applikation med flere vinduer - og jeg kan også godt lave en simpel MDI-applikation - men hvordan laver man en applikation med kun ét vindue men flere forskellige brugerflader alt afhængig af hvilket menupunkt brugeren har valgt.

Hvis for eksempel brugerne af systemet skal kunne lægge et produkt ind, se liste af produkter, foretage en bestilling samt se foretagede bestillinger og hver af disse ting har hver deres form men det hele skal foregå i samme vindue hvordan klares det så? Bortset fra, at det så er bygget op vha faneblade, så måske lidt i retning af "system properties" i kontrolpanelet.
Avatar billede thesurfer Nybegynder
27. marts 2007 - 10:35 #1
Du kunne bruge paneler/groupbox.. de kunne så styres via menuer og knapper, i stedet for faneblade/tabs..
Avatar billede unknown_someone Juniormester
27. marts 2007 - 11:43 #2
hvis det så er en stor applikation vil det så ikke blive svært at styre med paneler?
Avatar billede thesurfer Nybegynder
27. marts 2007 - 12:19 #3
Jo, det ville det.. :-)

Men du vil jo ikke bruge flere forms.. så må du finde dig i at det bliver svært at holde styr på tingene.. :-)

Så må du bare opdele koden på din form..

Eksempel:

/* kunderegistrering */
her indsættes alt hvad der har med kunderegistrering at gøre..


/* medarbejderinformation */
her indsættes alt hvad der har med medarbejderinformation at gøre..

Osv..
Avatar billede crazysnap Seniormester
27. marts 2007 - 22:30 #4
Hej unknown someone,


Jeg ville da klart anbefale at bruge UserControls til hver sin del af applikationen. UserControls er netop lavet så man kan separere og indlejre forskellige dele af brugergrænsefladen. Så i dit tilfælde ville du have en UserControl til at registrere produkter, en UserControl til at vise en liste med produkterne, en til at foretage bestillinger og en sidste til at se bestillingerne.
En UserControl har mange af de samme egenskaber som en Form, nemlig et Designer view til at definere GUI'en og en partial klasse til at håndtere selve funktionaliteten (koden).


På din main Form skal du så bare tilføje dine 4 UserControls og håndtere hvornår de skal vises.

At have alt kode i samme form og bygge hele UI'en op med paneler vil jeg ihvertfald stærkt fraråde (bla. pga. uoverskueligheden, hvilket du også selv stiller spørgsmål til, og fordi UserControls eksiterer). :)


Mvh.

- Snap

Så søg på UserControls på Google, der er mange tutorials som giver dig hurtigt indblik i hvordan de bruges bedst.
Avatar billede unknown_someone Juniormester
03. maj 2007 - 09:09 #5
jeg kender godt usercontrols så intet problem i det - troede bare at der var en smart måde at lave det på (altså ligesom MDI)
Avatar billede crazysnap Seniormester
07. maj 2007 - 09:55 #6
Hej unknown,


Det er nu faktisk også ret smart med UserControls. Alt funktionalitet er indlejret i dem og det eneste du behøver er en Main Form med en reference til den UserControl som skal være synlig. Altså noget lignende:  :)


UserControl m_currentControl;


public void ChangeCurrentControl(UserControl curCtrl)
{
    if(m_currentControl != null)
        this.Controls.Remove(m_currentControl);

    m_currentControl = curCtrl;
    m_currentControl.Dock = DockStyle.Fill;
    m_currentControl.Visible = true;
    this.Controls.Add(m_currentControl);
}


Så kalder du bare ChangeCurrentControl med den rette UserControl når der klikkes på et menu punkt.  :)


Mvh.

- Snap
Avatar billede unknown_someone Juniormester
06. september 2007 - 15:45 #7
jeg har fået leget en masse med dette og kan se fordele og ulemper ved alle metoder - iøvrigt kan også nævnes at en tab (med selve tab-funktionaliteten skjult) også bruges en del steder.

Jeg er stadig åben over for forslag og eventuelle nye idéer - ellers så kom i hvert fald med et svar.
Avatar billede thesurfer Nybegynder
06. september 2007 - 19:42 #8
Ingen points til mig, tak.
Avatar billede crazysnap Seniormester
07. september 2007 - 09:25 #9
Ja snup du bare pointene selv for min skyld! :)


Mvh.

- Snap
Avatar billede unknown_someone Juniormester
17. december 2007 - 13:00 #10
jamen - så lukker jeg da :-)
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