Hallo
ich habe eine Form "deviceConfigForm"
Diese enthält 2 Controls: ein Treeview("trvPolosConfig" ) und ein flowlayoutPanel("flpPolosConfig").
Beide werden erst während der Laufzeit erstellt.
C#-Quelltext
1: 2: 3: 4: 5: 6:
| public partial class deviceConfigForm : Form {
TreeRestore trvPolosConfig = new TreeRestore(); public dynamicFlowLayoutPanel flpPolosConfig = new dynamicFlowLayoutPanel(); ...... |
Der Treeview zeigt in Baumform alle Parameter eines Gerätes.
Wenn man einen Knoten des vorletzten Ebene vom Treeview anklickt, sollen in FlowLayoutPanel alle untergeordnete childs des Knoten angezeigt werden.
um nicht zuviel Code in meiner WindowsForm zu haben, habe ich eine neue Treeviewklasse erstellt,TreeRestore, in der die Funktion Afterselect überschrieben wird.
C#-Quelltext
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:
| { public class TreeRestore : TreeView { public TreeRestore() {
}
protected override void OnAfterSelect(TreeViewEventArgs e) { Form currForm; TreeNode node = null; if (!(e.Node is TreeNode)) return; else node = (TreeNode)e.Node;
currForm = e.Node.TreeView.FindForm();
foreach (TreeNode child in node.Nodes) { currForm.??? } } |
und das klappt nicht, weil ich nicht weiß, wie ich von dieser Klasse TreeRestore.cs aus auf das Feld flpPolosConfig und dessen Methoden zugreifen kann.
Kann mir jemand einen Tip geben, wie ich es machjen kann? Es ist anderes als die Lösung von Formular zu einem anderen Formular kommunizieren.
Vielen Dank im Voraus
frenchcancan