06. juli 2006 - 10:59Der er
7 kommentarer og 1 løsning
Nyt event på en string.
Hej eksperter... Jeg har lavet et custom form. Denne har en property string som angiver en mappe på computeren. Jeg vil gerne lave en event på denne string, så at nå den opdatere/ændre værdi, så kan den opdatere et treeview.
Hvordan kan det løses???
lidt kode: public string RootFolder { get { return _RootFolder; } set { _RootFolder = value; } }
Mja... men du kan også godt bruge Events, du siger en Custom Form??? Ehm... Mener du så bare en alm. Windows Form (Du arver fra Form?) eller mener du en Custom Control (Du arver fra Control?)
I dit sidste tilfælde kunne dit Event være relevant nok som jeg ser det, hvad vis det er et Treeview uden for din Control der skal opdateres fx?...
Du laver Events således:
//Erklæring af eventet og tilhørende handler: public delegate void RootFolderChangedEventHandler(object sender, EventArgs args); public event RootFolderChanged;
//God skik ifl MS er at have en OnEvent metode protected void OnRootFolderChanged(EventArgs args) { if(this.RootFolderChanged != null) this.RootFolderChanged(this,args); }
//Og endelig implementeringen i din Property public string RootFolder { get { return _RootFolder; } set { _RootFolder = value; this.OnRootFolderChanged(new EventArgs); } }
Tak til jer begge... De 2 løsninger er super gode. Smid et svar begge 2 og i kan dele points. Hmortensen for det hurtige og smarte "work around" svar. md_craig for det mest korrekte svar.
Nej, det er det nødvendigvis heller ikke, Det... eller at kalde en extern metode i samme klasse kan fint være to gode løsninger, men nu gav jeg en specifik grund til hvor det evt. kunne være en bedre løsning... på baggrund af at jeg ikke helt ved hvordan jeg skal Tolke hans "Custom Form"...
I det øjeblik man laver Controls som sagt, er events typisk en god løsning, ligsom en knap er en Control og har en række event, så kunne en Custom Control give visse Events til det overordnede...
Sagen er at lige såvel som man kunne ønske at sætte denne ændring uden for klassen/objectet selv, kunne man have lyst til at lytte på eventet også...
Synes godt om
Ny brugerNybegynder
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.