winform TreeView树节点上下移动
生活随笔
收集整理的這篇文章主要介紹了
winform TreeView树节点上下移动
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/// <summary>/// 上移/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void tsbMoveUp_Click(object sender, EventArgs e){if (Tv_tree.SelectedNode == null){MessageBox.Show("請選擇需要移動的的節點!");this.Focus();return;}folder model = new folder();TreeNode node = Tv_tree.SelectedNode; //獲得選中節點的值model.folderId = node.Tag.ToString();model.TheOrder = node.Name.ToString();if (node.PrevNode == null) //選中節點的上一個節點為Null則返回
{return;}folder upModel = new folder();TreeNode upNode = node.PrevNode; //獲得選中節點的上一個節點upModel.folderId = upNode.Tag.ToString();upModel.TheOrder = upNode.Name;bool flag = folderOperation.MoveUp(model, upModel); //將兩個節點的排序編號互換if (flag) //如果執行成功
{string theOrder = node.Name;node.Name = upNode.Name;upNode.Name = theOrder;TreeNode newNode = (TreeNode)node.Clone(); //克隆選中的節點if (node.Parent == null){Tv_tree.Nodes.Insert(upNode.Index, newNode); //在選中節點的上一個節點的地方插入本節點
}else{node.Parent.Nodes.Insert(upNode.Index, newNode);}node.Remove();Tv_tree.SelectedNode = newNode;}else{return;}}/// <summary>/// 下移/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void tsbMoveDown_Click(object sender, EventArgs e){if (Tv_tree.SelectedNode == null){MessageBox.Show("請選擇需要移動的的節點!");this.Focus();return;}folder model = new folder();TreeNode node = Tv_tree.SelectedNode; //選中的節點model.folderId = node.Tag.ToString();model.TheOrder = node.Name.ToString();if (node.NextNode == null) //下一個節點為Null時返回
{return;}folder downModel = new folder();TreeNode dowNode = node.NextNode;downModel.folderId = dowNode.Tag.ToString();downModel.TheOrder = dowNode.Name;bool flag = folderOperation.MoveUp(model, downModel);if (flag){string theOrder = node.Name;node.Name = dowNode.Name;dowNode.Name = theOrder;TreeNode newNode = (TreeNode)dowNode.Clone(); //克隆下一個節點及其所有的子節點if (node.Parent == null){Tv_tree.Nodes.Insert(node.Index, newNode); //在原節點的位置插入下一個節點的值
}else{node.Parent.Nodes.Insert(node.Index, newNode);}dowNode.Remove(); //刪除掉選中節點的下一個節點Tv_tree.SelectedNode = node; //重新選中
}else{return;}}string sql = string.Format("update folder set theorder = '{0}' where folderid = '{1}'", model.TheOrder, upModel.folderId); string sql1 = string.Format("update folder set theorder = '{0}' where folderid = '{1}'", upModel.TheOrder, model.folderId);
?
轉載于:https://www.cnblogs.com/51net/p/4238065.html
總結
以上是生活随笔為你收集整理的winform TreeView树节点上下移动的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: fast-json.jar的用法
- 下一篇: FL2440移植linux内核常用命令(