ich habe eine Treeview und 2-Taste ich will, wenn klicken Sie auf UP_button, über Knoten ausgewählt, wenn ich auf DOWN_button klicken bin dann nach unten gehenWie kann das ausgewählte Element programmgesteuert in der Baumansicht in C# nach oben verschoben werden?
Antwort
Von MSDN Documentation werden Auswahl sollte:
private void SelectNode(TreeNode node)
{
if(node.IsSelected)
{
// Determine which TreeNode to select.
switch(myComboBox.Text)
{
case "Previous":
node.TreeView.SelectedNode = node.PrevNode;
break;
case "PreviousVisible":
node.TreeView.SelectedNode = node.PrevVisibleNode;
break;
case "Next":
node.TreeView.SelectedNode = node.NextNode;
break;
case "NextVisible":
node.TreeView.SelectedNode = node.NextVisibleNode;
break;
case "First":
node.TreeView.SelectedNode = node.FirstNode;
break;
case "Last":
node.TreeView.SelectedNode = node.LastNode;
break;
}
}
node.TreeView.Focus();
}
EDIT
Sie würden natürlich die Fälle für "Previous" und "Next" oder "PreviousVisible" und "NextVisible" in Ihrer Schaltfläche Click-Handler verwenden. Dieser Code setzt voraus, dass Sie die "Aktion" aus einem Kombinationsfeld auswählen und eine Schaltfläche drücken.
EDIT 2
Gerade falls Sie versuchen, die Knoten nach oben zu bewegen und nach unten (nicht die Auswahl), können Sie so etwas wie die folgenden verwenden:
TreeNode sourceNode = treeView.SelectedNode;
if (sourceNode.Parent == null)
{
return;
}
treeView.Nodes.Remove(sourceNode);
treeView.Nodes.Insert(sourceNode.Index + 1, sourceNode);
Dies würde den aktuellen Knoten verschieben eine nach unten. Bitte beachten Sie, dass Sie mehr Code schreiben müssen, um einige Spezialfälle zu behandeln (z. B. was passiert mit dem ersten Knoten? Funktioniert es auf allen Ebenen des Baumes?), Aber im Grunde würde ich es versuchen.
er möchte nicht auswählen, er möchte die Knoten nach oben und unten verschieben !. –
Nein, er/sie sagt: "Klicken Sie auf UP_buutten, über Node ausgewählt". Wenn er/sie die Knoten verschieben möchte, sollte die Frage neu formuliert werden. –
Es gibt einige schöne in den Eigenschaften des Knotens aufgebaut, die Sie verwenden können, so für verwenden Sie:
TreeView.SelectedNode = TreeView.SelectedNode.PrevNode;
und unten:
TreeView.SelectedNode = TreeView.SelectedNode.NextNode;
Danke für die Antwort Ich löse mein Problem mit privaten void button1_Click (Objekt Absender, EventArgs e) { TreeNode Knoten = new TreeNode(); node = treeView1.SelectedNode; treeView1.SelectedNode = Knoten.NextVisibleNode; Knoten.TreeView.Focus(); } – Mary
versuchen, dies für UP:
mein Problem gelöst.
Danke für Antworten
private void button1_Click(object sender, EventArgs e)
{
TreeNode node = new TreeNode();
node = treeView1.SelectedNode;
treeView1.SelectedNode = node.NextVisibleNode;
node.TreeView.Focus();
}
Großartig, aber wie wäre es, eine der Antworten als akzeptierte Lösung zu akzeptieren? –
Ich gebe Seele deiner ersten Antwort danke thorsten-dittmar – Mary
Für ASP.NET Treeview:
/// <summary>
/// MoveComponentUpLinkButton_Click
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void MoveComponentUpLinkButton_Click(object sender, EventArgs e)
{
// Get the selected node
TreeNode sourceNode = this.MyTreeview.SelectedNode;
if (sourceNode != null)
{
// Get the selected node's parent
TreeNode parentNode = this.MyTreeview.SelectedNode.Parent;
if (parentNode != null)
{
int index = -1;
// For each node in selected nodes parent
for (int j = 0; j < parentNode.ChildNodes.Count; j++)
{
// If we found the selected node
if (sourceNode == parentNode.ChildNodes[j])
{
// save index
index = j;
break;
}
}
// If node is not already at top of list
if (index > 0)
{
// Move it up
parentNode.ChildNodes.RemoveAt(index);
parentNode.ChildNodes.AddAt(index - 1, sourceNode);
sourceNode.Selected = true;
}
}
}
}
/// <summary>
/// MoveComponentDownLinkButton_Click
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void MoveComponentDownLinkButton_Click(object sender, EventArgs e)
{
// Get the selected node
TreeNode sourceNode = this.MyTreeview.SelectedNode;
if (sourceNode != null)
{
// Get the selected node's parent
TreeNode parentNode = this.MyTreeview.SelectedNode.Parent;
if (parentNode != null)
{
int index = -1;
// For each node in selected nodes parent
for (int j = 0; j < parentNode.ChildNodes.Count; j++)
{
// If we found the selected node
if (sourceNode == parentNode.ChildNodes[j])
{
// save index
index = j;
break;
}
}
// If node is not already at botton of list
if (index < parentNode.ChildNodes.Count - 1)
{
// Move it down
parentNode.ChildNodes.RemoveAt(index);
parentNode.ChildNodes.AddAt(index + 1, sourceNode);
sourceNode.Selected = true;
}
}
}
}
- 1. ASP.NET AJAX Combobox - kann das ausgewählte Element nicht programmgesteuert ändern
- 2. MVVM ein Baumansicht Element programmgesteuert auswählen
- 3. Wie kann ich das fokussierte Element programmgesteuert auswählen?
- 4. Aktivität von unten nach oben verschoben, aber die Hintergrundaktivität sollte nicht verschoben werden
- 5. Wie wird der ausgewählte Index oben in DropDownList angezeigt?
- 6. Wie man d3 js Baumansicht vertikal unten nach oben macht
- 7. Float right bewegt das Span-Element nach oben?
- 8. Bleiben Markiert das ausgewählte Element in ExpandableListView?
- 9. Bleiben Sie markiert das ausgewählte Element in der Navigationsleiste
- 10. Kann eine Ausnahme nach oben geworfen werden
- 11. So legen Sie das ausgewählte Element in der Strukturansicht auf der linken Seite der CHM-Datei
- 12. Bindung des untergeordneten Steuerelements in der Baumansicht Element in WPF
- 13. C# -Datalist-Element programmgesteuert ändern
- 14. Kann nach der Aktivierung der Firewall nicht in AWS EC2 verschoben werden
- 15. WPF ComboBox Wie binden Sie das ausgewählte Element in Code?
- 16. ASPxComboBox, Wie wird das ausgewählte Element eingestellt?
- 17. Wie können Array-Elemente im Vergleich zu Strings nach oben verschoben werden?
- 18. jQuery kann außerhalb des Browsers verschoben werden
- 19. Abwahl ausgewählte Element in Listview
- 20. Wie Sie das ausgewählte Element eines Kombinationsfelds in eine Zeichenfolgevariable in C#
- 21. move_uploaded_file() Datei kann nicht von tmp nach dir verschoben werden
- 22. Ist das ein Fehler in der Bash? (Pfeil nach oben)
- 23. Kann der jQuery UI Datepicker das gesamte Jahr anzeigen und das ausgewählte Datum programmgesteuert formatieren?
- 24. RecyclerView: Markieren Sie das ausgewählte Element
- 25. Kann das onbeforeunload-Ereignis programmgesteuert ausgelöst werden?
- 26. Wie Gradienteneffekt von oben nach unten angezeigt werden in android
- 27. Kann das Ausgabefenster in Visual Studio programmgesteuert gelöscht werden?
- 28. IONIC2: Inhalte werden nach rechts verschoben
- 29. Wie kann ich Bilder programmgesteuert so festlegen, dass sie mit Zellen verschoben und in der Größe angepasst werden?
- 30. Wie kann das * C * in Objective-C genutzt werden?
hat Ihr TreeView Datenbank verbinden? –