Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[C#] Usercontrols (waar te beginnen)

Pagina: 1
Acties:
  • 1.253 views sinds 30-01-2008
  • Reageer

  • Sandertjuhh
  • Registratie: November 2006
  • Laatst online: 15-09 13:01
Hallo allemaal,

Ik ben redelijk nieuw met C# (VisualStudio)maar ik kan de basis dingen al een beetje.

Nu werd ik door een collega van mij op het bestaan van UserControls gewezen.

Ik heb hier een tijdje mee zitten stoeien maar ik kom er niet uit. Ook mijn zoektocht op internet bracht helaas geen oplossing (wellicht dat ik verkeerd gezocht heb). Ik kan een usercontrol aanmaken in het project en daar houd het bij mij op...

Nu hoop ik dat jullie mij opweg kunnen helpen. Ik weet eigenlijk dus totaal niet hoe ik user controls moet handelen maar wil het wel erg graag leren.Zou iemand mij wat uitleg kan geven hierover of mij een link van een tutorial kan geven. Ik hoef geen kant en klare copy / paste code want daar leer ik niets van.. Uiteraard zijn ook meningen over het wel of niet gebruiken van UserControls welkom.

Alvast bedankt

  • Ruudjah
  • Registratie: November 1999
  • Laatst online: 06-09 20:58

Ruudjah

2022

DIT BERICHT IS PREVENTIEF VERWIJDERD DOOR DE GEBRUIKER

[ Voor 100% gewijzigd door Ruudjah op 01-12-2009 22:21 ]

TweakBlog


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
Wat wil je weten van usercontrols? Wat wil je er mee doen? een usercontrol is geen doel maar een middel. Een usercontrol maken omdat je het kunt schiet je niets mee op, en vaak heb je ze niet eens nodig, en zijn ze vooral handig om structuur in je eigen code aan te brengen.

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • Gerrit88
  • Registratie: Maart 2007
  • Laatst online: 20-11 09:46
User controls zijn ontzettend handig om code herbruikbaar te maken. Je kan een context-onafhankelijke ui maken die in elk situatie gebruikt kan worden mits je de control op de juiste manier maakt natuurlijk! Ik ben een echte fan van user controls in elk geval!

Anyway on topic.
Sandertjuhh, je kan dus een user control maken. Ik neem aan dat je dan ook componenten toe kan aan het user control. De volgende stap is dan het control toevoegen aan je main-form. In het begin is het denk ik het makkelijkste om zowel je main form als je user control(s) in dezelfde namespace op te nemen. Als je het goed gedaan heb en je control is goed gecompileerd dan kun je in je main form via de toolbox je eigen gemaakte control toevoegen. Dus gewoon op dezelfde manier hoe je ook een button, textbox etc. toevoegd. Ik denk dat het handig is om dit simpele stuk eerste is te proberen. Event afhandeling etc. komt daarna dan wel. Dan weet je in elk geval de basis werking.

succes ermee!

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

MSDN --> Development Tools and Languages --> Visual Studio --> Visual Web Developer --> Creating Custom ASP.NET Controls Roadmap

Vanaf daar heb je zeker voor een week leesvoer over development van componenten.

If it isn't broken, fix it until it is..


Verwijderd

Maak een usercontrol.
Zet er een regel tekst in
Sleep het usercontrol op je pagina en doe dit nog een keer.
bekijk je pagina.

Nu weet je wat een usercontrol in de basis kan. Een stuk opmaak en code in een appart stuk zetten en later zeg maar invoegen in je pagina.

Als je dit helder hebt lees je je verder in en kun je er achter komen dat je een usercontrol ook kunt gebruiken als black-box die je aan de hand van commando's (properties) bepaald gedrag mee kunt geven.

Begin simpel, maak bijv een color propertie voor je usercontrol. Laat de tekst in het usercontrol de ingestelde kleurwaarde gebruiken.

Lees en probeer en voor je het weet gebruik je in elk project usercontrols

  • Sandertjuhh
  • Registratie: November 2006
  • Laatst online: 15-09 13:01
Ik wil gebruik maken van Windows Form usercontrols..

Ik wil ze gebruiken om een ofanhangelijke UI te maken waarin ik alleen de sturing in de UI zelf heb staan. Alle overige velden/zaken komen in een usercontrol die ik open als men op een bepaalde knop drukt (of tabblad opent etc..)

@Gerrit88: Kun je dit nader uitleggen: "Als je het goed gedaan heb en je control is goed gecompileerd dan kun je in je main form via de toolbox je eigen gemaakte control toevoegen. Dus gewoon op dezelfde manier hoe je ook een button, textbox etc. toevoegd."

De usercontrol heb ik aangemaakt in mijn project. "Op" die usercontrol heb ik wat simpele textlabels staan. In mijn UI heb ik een button. Wanneer ik op deze button klik moet de usercontrol in de UI geopend worden. Zou je me kunnen vertellen hoe ik dit moet doen?

@Niemand_Anders & Sybesma : Ik wil ze niet gebruiken voor web devolpment toch bedankt voor jullie reactie ik houd het in m'n achterhoofd als ik er wel mee ga werken.

  • Serpie
  • Registratie: Maart 2005
  • Laatst online: 01-07-2023
Sandertjuhh schreef op donderdag 24 januari 2008 @ 23:22:
De usercontrol heb ik aangemaakt in mijn project. "Op" die usercontrol heb ik wat simpele textlabels staan. In mijn UI heb ik een button. Wanneer ik op deze button klik moet de usercontrol in de UI geopend worden. Zou je me kunnen vertellen hoe ik dit moet doen?
Hmm maar dit is wel wat basic hoor, je kan beter de volgende pagina of anders een boek doorlezen: http://msdn2.microsoft.co...rary/3deasc0e(VS.80).aspx

Verder:
- Declareer een nieuwe instantie van je control.
- Stel de 'Bounds' in van het control.
- Voeg het control toe aan het form waar het op staat.

[ Voor 3% gewijzigd door Serpie op 25-01-2008 09:54 . Reden: Linkje aangepast ]


  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

In de MSDN staat ook genoeg documentatie over ontwikkeling van Windows usercontrols. Overigens is er weinig verschil tussen development van een windows usercontrol en een asp.net user control. Beide zijn eigenlijk niets anders dan een form met daarop een aantal andere controls.

Daarnaast is deze vraag zo basaal dat misschien een boek over c# windows development meer informatie geeft. Boeken kun je kopen bij Bruna, BOL, Computer Collectief.

If it isn't broken, fix it until it is..


  • Gerrit88
  • Registratie: Maart 2007
  • Laatst online: 20-11 09:46
@Sandertjuhh,
Ik zal proberen nog een keer uit te leggen wat ik bedoelde maar ik denk dat het wel handig is om dan eerst wat meer in te lezen in het idee en werking van user controls.
Ik neem aan dat je inmiddels weet hoe je een user control aanmaakt. (Ik ga er trouwens van uit dat je je formpjes gewoon in een IDE maakt, als dat niet zo is dan geld alles wat ik hier schrijf niet). De user control heb je dus gemaakt en gecompileerd. Als dit allemaal goed gegaan is kan je de usercontrol daadwerkelijk gaan gebruiken.

Je maakt dan een nieuwe UI aan waarin je je user control wil gaan gebruiken. In de toolbox staan zoals gebruikelijk alle componenten (Button, textbox etc.) die je in je UI kan gebruiken. In deze toolbox staat als het goed is ook de user control die je gemaakt heb. Als je deze op dezelfde manier op je UI sleept kan je 'm gewoon gebruiken zoals je alle andere componenten ook gebruikt.

Ik hoop dat het zo duidelijk is wat ik bedoel, weet niet goed hoe ik het beter uit kan leggen. Misschien kan een mede-tweaker het beter verwoorden?

  • HawVer
  • Registratie: Februari 2002
  • Laatst online: 17-11 22:54
Sandertjuhh schreef op donderdag 24 januari 2008 @ 23:22:
De usercontrol heb ik aangemaakt in mijn project. "Op" die usercontrol heb ik wat simpele textlabels staan. In mijn UI heb ik een button. Wanneer ik op deze button klik moet de usercontrol in de UI geopend worden. Zou je me kunnen vertellen hoe ik dit moet doen?
Een control die andere controls kan bevatten is meestal een overerving van de ControlContainer class. Bijvoorbeeld een panel is een overerving van de ContainerControl class. Een UserControlclass is eigenlijk niet meer dan een ContainerClass die je in een los bestand plaatst. Visual Studio geeft je de mogelijkheid om deze class op dezelfde manier als een form te ontwerpen. Dat is alles!

Child controls komen over het algemeen in de Controls collectie van de ContainerControl class terecht. Dus om het plaatje even compleet te maken:

Form
Controls
+ UserControl
+ Controls
++ Label

Wil je dus een UserControl vanuit de source toevoegen dan doe je het volgende:
C#:
1
2
3
UserControl myUserControl = new UserControl();
myUserControl.Dock = DockStyle.Fill;
Controls.Add(myUserControl);

Overigens is dit basic en kun je dit zelf makkelijk uitzoeken dmv msdn documentatie!

http://hawvie.deviantart.com/

Pagina: 1