Frage

ich mit Microsofts TreeView Steuerung spielte und ich versuche, eine Aktualisierung der Daten von einigen Arten zu erzwingen, während mit einem Etikett des Knotens bearbeiten, ähnlich wie Update für ein Gitter.

Im Grunde genommen in meinem Lektor, habe ich eine Schaltfläche Speichern und dieses Steuerelement TreeView: was ich will, ist, wenn ich eines Knotens Etikett in der TreeView bin der Bearbeitung, wenn ich auf die Schaltfläche Speichern klicken Ich möchte die Knotens begehen können, Label ich war zu bearbeiten.

War es hilfreich?

Lösung

Das Knotenlabel Bearbeitung mit einem Textfeld durchgeführt und wenn das Textfeld des Namenswechsel verliert konzentrieren wird als das neue Label für den Knoten gebunden werden. Also, wenn die Schaltfläche ‚Speichern‘ können Sie den Fokus klicken auf nimmt, dann wird es das Update automatisch verursachen, da das Textfeld den Fokus verlieren wird.

Wenn die Schaltfläche ‚Speichern‘ findet nicht konzentrieren, dann müssen ein Click-Ereignis für die Schaltfläche ‚Speichern‘ zu handhaben und den Baum stellen alle aktuellen Label Bearbeitung zu beenden. Wenn keine Methode / Eigenschaft haben, können Sie anrufen Label Bearbeitung Finish zu beantragen, so haben Sie zwei Möglichkeiten. Wenn die Baumansicht den Fokus hat dann den woanders Fokus setzen. Alternativ deaktivieren / wieder beschriften Bearbeitung ...

treeView.LabelEdit = false;
treeView.LabelEdit = true;

Andere Tipps

Ich werde die Antwort akzeptieren, auch wenn es nicht wirklich dokumentiert ist: Ist es oder ist es nicht, ein solches Verfahren haben? Sie haben eigentlich nicht darauf antworten, übergeben Sie einfach die Frage an mich zurück.

gefunden Zwischenzeit die gleiche Kerbe-ish Lösung mit dem Fokus auf eine andere Kontrolle zwingen (nicht sehr elegant aber funktioniert), auch wenn es ein bisschen schwieriger für mich ist, da ich eine TreeView als Teil eines Usercontrol verwenden.

Haben Sie wirklich brauchen einen Speicher-Button?

könnten Sie für das Ende des Knotens bearbeiten hören - zum Beispiel durch die „Return“ -Taste in dem Ereignis KeyDown des TreeView hören. wenn Sie etwas gerade bearbeiten (herauszufinden, mit SelectedNode.IsEditing), dann wissen Sie, Sie haben ein begehen. Sie können dann auf Ihre Sachen DATAUPDATE begehen diese. Wenn Sie in der Lage sein wollen, viele verschiedene Knoten zu bearbeiten und sie alle am Ende speichern, dann müssen Sie jede bearbeitete Knoten zu einer Sammlung von einer Art hinzuzufügen, und dann, wenn Sie Ihre Taste Iterierte durch diese Sammlung speichern klicken.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top