09. august 2004 - 15:45Der er
8 kommentarer og 1 løsning
Textbox i custom component
Hej.. Jeg er ved at lave en custom component og en af mine properties skulle gerne være en label. For at gøre en lang historie kort, så gør jeg noget ligenende dette:
public class SmartTextBox : System.Windows.Forms.Panel { private System.Windows.Forms.Label _Label; public System.Windows.Forms.Label Label { get { return (this._Label); } set { this._Label = value; this.Invalidate(); } } }
Problemet er nu at jeg sagtens kan se og sætte den property fra mit program, og ændringerne slår også igennem design-time, men så snart jeg kører programmet, kan jeg ikke tilgå "this._Label" inde fra komponenter, for den er ikke oprettet (null). Hvis jeg noget sted laver en "this.Label = new Label()" så vil jeg ikke så de properties med som jeg har sat i editoren.
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Sorry for den lidt misvisende overskrift, det er fordi jeg også skal lave samme nummer med en textBox, men det er lettere at lave et eksempel med en label..
hmm - det kan jeg sq heller ikke lige få til at virke... en anden idé kunne være at bruge delegering - sådan har jeg gjort på de usercontrols jeg har lavet.
Delegering går ud på at lade din SmartTextBox udstille de properties fra _Label som du ønsker at kunne skrue på.... det eneste de properties gør er at stille videre til den tilsvarende property på _Label.
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.