Avatar billede evilfish Nybegynder
30. november 2007 - 18:37 Der er 10 kommentarer og
1 løsning

Opdel GUI i flere component grupper

Hej Eksperter

Jeg er ved at lave en GUI. Jeg bruger Visual Studio 2005 pro til dette, så det er for det meste drag and drop. Men jeg har under min konstruktion opdaget at et af mine komponenter som er i GUI'en (Et træ), er smartere at have i en klasse for sig, grundet der skal en del kodning under denne. Hvorledes kan jeg oprette min klasse så træet er for sig, og resten for sig selv?
Avatar billede onkel_satan Nybegynder
30. november 2007 - 19:42 #1
Composit pattern egner sig glimrende til at holde styr på GUI komponenter. Du kan lave lige saa mange gruperinger som du vil. Når du saa siger at det ene classe indeholder en masse kode går jeg ud fra du mener at den har flere metoder end resten af gui klasserne fordi den har en ekstra funktionaliteter. Hvis det er korrekt saa ændre din datastruktur (composite eller hvad du nu måtte bruge) ikke på problemet. Generalt vil du have en uni-form tilgang til dine tine elementer. Er der saa nogen som kræver ekstra funktionalitet kan du bruge en visitor til at udføre de ekstra metoder. Visitoren 'stjæler' et eksisterende objekt og vidrebygger på et eksisterende objekt. På den måde undgår du at skulle ændre på hele din gui struktur og dens tilgang.

Hvis jeg har forstået dig rigtigt er ovenstående værd at tænkte over.
Avatar billede evilfish Nybegynder
30. november 2007 - 21:10 #2
Jeg ved hvad Composit pattern er. Og jeg kan godt lide dit forslag. Men jeg tror det er overkill til dette projekt.

Jeg ved ikke om jeg har forklaret mig korrekt så jeg prøver lige en detaljeret forklaring :) :

Det jeg har indtil videre er en GUI, med 3 (split) paneler. En lodret til venstre, og 2 til højre der ligger henholdvis i toppen og bunden. Jeg vil placere et TreeView i panelet til venstre. Jeg kunne sagtens ligge alt GUI kode i den samme klasse. Men jeg tror jeg får meget kode kun til træet, så jeg vil gerne oprette TreeView'et i en anden klasse, og så få det vist i GUI'en. Dvs, inplementere den i GUI klassen i det venstre panel. Alle mine forsøg på at gøre dette indtil videre er mislykkedes. Det er der mit problem ligger. Og det er også det eneste GUI komponent der skal væk fra selve hoved GUI klassen. Hvis det gir mening. :)
Avatar billede nielle Nybegynder
01. december 2007 - 17:33 #3
Opret en ny klasse (i sin egen cs-fil).
Denne skal nedarve fra den træklasse som du har indsat i formen lige nu.
Flyt derefter al din special-kode over i den nye klasse.
Tilret så din eksisterende form-kode til at indsætte din egen specialicerede træ ind i stedet for det konventionelle træ.
Avatar billede nielle Nybegynder
10. december 2007 - 20:36 #4
Hvad med noget respons?
Avatar billede evilfish Nybegynder
10. december 2007 - 20:42 #5
Ahh ok. Tak. Undskyld forsinkelsen. Igang med flytning, så havde 1000 ting i hovedet.
Avatar billede nielle Nybegynder
17. december 2007 - 18:33 #6
Jeg tænkte nu mere på noget respons omkring spørgsmålet. :^)

(PS: hader selv flytninger)
Avatar billede evilfish Nybegynder
17. december 2007 - 20:08 #7
Ahh - Jeg har ikke afprøvet ideen endnu. Jeg er dog igang. Regner med at bruge ideen når der er noget at tage fat i. Så indtil da, kan jeg ikke give noget respons. Men jeg tror det er vejen at gå.
Avatar billede evilfish Nybegynder
29. december 2007 - 10:09 #8
Okay, jeg har leget lidt med ideen, og så taget en anden indgang vinkel på problemet. Jeg har valgt at lade treeViewet ligge i min gui klasse, da det er nemmere at arbejde med det. Jeg har så taget alt koden og lagt i andre klasse, hvor det gav mening.
Avatar billede nielle Nybegynder
29. december 2007 - 14:46 #9
Og har det så bragt dig videre eller hvad?
Avatar billede evilfish Nybegynder
31. december 2008 - 14:09 #10
Stille og roligt. Tror jeg holder den løsning :)

Men du skal have tak for dine indlæg. Har givet mig andre vinkler at angribe problemet på :)
Avatar billede nielle Nybegynder
14. januar 2008 - 18:33 #11
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