Hallo allemaal,
Ik heb een Component in C# met daarin twee properties, Property1 en Property2. Property2 is een verzameling (List<T>) van objecten die ook gedefinieerd zijn in mijn code.
Nu wil ik graag tijdens het zetten van Property1 de inhoud van de List<T> van Property2 wijzigen. Dit werkt op zich wel alleen worden deze wijzigingen niet opgeslagen in de Designer.cs van het Form waarop ik het component plaats.
Weet iemand hoe ik dit voor elkaar kan krijgen?
Kort voorbeeld van hoe ik het nu heb:
Als de count gezet wordt dan worden er net zoveel objecten aangemaakt als de count. Dit werkt op zich wel, en de aangemaakte objecten zijn ook zichtbaar in de Designer van Visual Studio, alleen als het project gestart wordt zijn de aangemaakte objecten weg omdat die niet in de Designer.cs geserialized worden.
Ik heb een Component in C# met daarin twee properties, Property1 en Property2. Property2 is een verzameling (List<T>) van objecten die ook gedefinieerd zijn in mijn code.
Nu wil ik graag tijdens het zetten van Property1 de inhoud van de List<T> van Property2 wijzigen. Dit werkt op zich wel alleen worden deze wijzigingen niet opgeslagen in de Designer.cs van het Form waarop ik het component plaats.
Weet iemand hoe ik dit voor elkaar kan krijgen?
Kort voorbeeld van hoe ik het nu heb:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| public class TestComponent : Component { private int _Count; public int Count { get { return _Count; } set { _Count = value; Columns.Clear(); for (int i = 0; i < _Count; i++) { TestClass tClass = new TestClass(); tClass.Description = "TestClass" + i.ToString(); Columns.Add(tClass); } } } private List<TestClass> columns = new List<TestClass>(); [EditorBrowsable(EditorBrowsableState.Never)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] public List<TestClass> Columns { get { return columns; } } } [ToolboxItem(false), DesignTimeVisible(false)] public class TestClass : Component { private string _Description; public string Description { get { return _Description; } set { _Description = value; } } } |
Als de count gezet wordt dan worden er net zoveel objecten aangemaakt als de count. Dit werkt op zich wel, en de aangemaakte objecten zijn ook zichtbaar in de Designer van Visual Studio, alleen als het project gestart wordt zijn de aangemaakte objecten weg omdat die niet in de Designer.cs geserialized worden.
Hail to the king baby!