树形控件,删除当前选中项,语句怎么写?数据用XML存的! 不管当前选择的是根目录还是子目录 是不是都是一样的语句啊? 怎么写啊?还有还有 修改 我也不知道怎么写 哪位大大知道告诉下啦 谢谢先 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 还有还有啊 我点子项的时候怎么才能在右边显示出来子项对应的内容啊 内容也都是存在XML里面的 XML遍历是看XML遍历的!~就上面的图我写一下遍历XmlNode node = TreeView.nodes.add("");foreach(XmlNode var in node.ChileNode) { XmlNode xn = node.nodes.add(var.目录); foreach(XmlNode var in xn.ChileNode) { xn.nodes.add(var); }}修改的时候要先定义个类然后把XML的数据遍历到类中对应的属性和字段中,那上面的遍历就不对了要先遍历到类中,然后直接去类中的属性就可以添加到TreeView修改的时候就是根据类中的属性对应XML中的节点来修改//TreeView双击事件 private void treeView1_DoubleClick(object sender, EventArgs e){ //那要把遍历XML的节点值全部保存到类中 然后根据treeView1.SelectedNode.Text; 来从类中把你要的值,读取到控件中!} 啊 我还是把我写的代码放上来吧 帮忙改改看 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Web;using System.Xml;using System.Xml.Xsl;using System.IO;namespace Demo{ public partial class MainForm : Form { public MainForm() { InitializeComponent(); } /// <summary> /// 窗体加载 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void MainForm_Load(object sender, EventArgs e) { //填充树形控件 FillTreeView(); } /// <summary> /// 填充树形控件 /// </summary> public void FillTreeView() { //清空树形控件 myTreeView.Nodes.Clear(); string fileName = "menu.xml"; //文件地址 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(fileName); //添加文件 XmlNodeList xmlList = xmlDoc.SelectSingleNode("Menu").ChildNodes; //获取Menu下的所有子项 foreach (XmlNode xmlNo in xmlList) { TreeNode tn = new TreeNode(); XmlElement xe = (XmlElement)xmlNo; { tn.Text = xe.GetAttribute("name"); foreach (XmlNode subXmlNo in xmlNo.ChildNodes) { TreeNode subTn = new TreeNode(); XmlElement subXE = (XmlElement)subXmlNo; { subTn.Text = subXE.GetAttribute("subName"); tn.Nodes.Add(subTn); } } } myTreeView.Nodes.Add(tn); } } //显示添加故障窗体 private void 添加主故障ToolStripMenuItem_Click(object sender, EventArgs e) { MainFault mf = new MainFault(); mf.ShowDialog(); myTreeView.Nodes.Clear(); FillTreeView(); } //显示故障原因窗体 private void 添加故障原因ToolStripMenuItem_Click(object sender, EventArgs e) { FaultWhys fw = new FaultWhys(); fw.ShowDialog(); } private void 修改主故障ToolStripMenuItem_Click(object sender, EventArgs e) { } private void 修改故障原因ToolStripMenuItem_Click(object sender, EventArgs e) { } private void 修改解决方案ToolStripMenuItem_Click(object sender, EventArgs e) { } private void 删除选中行ToolStripMenuItem_Click(object sender, EventArgs e) { myTreeView. } }} 看到我加我QQ626552714或者把你的XML文件发到我的QQ邮箱里把需求也写到邮箱里明天我收到,我会在晚上6点之前,给你答案!~~~ void treeView1_AfterSelect(object sender, TreeViewEventArgs e) {}private void btnDel_Click(object sender, EventArgs e) { TreeNode selectedNode = treeView1.SelectedNode; if (selectedNode == null) { MessageBox.Show("请在删除节点之前选中一个节点", "提示"); return; } TreeNode parentNode = selectedNode.Parent; if (parentNode == null) { treeView1.Nodes.Remove(selectedNode); } else { parentNode.Nodes.Remove(selectedNode); } treeView1.Update(); treeView1.Select(); } 初学者问题之十一:C#中的List<T>能直接当T类型的数组用吗? web 截屏 求教自创资源DLL的调用问题。。。请高手指教 在后台关闭选项卡时:Microsoft Jscript 运行时错误 :没有权限 [原创小窍门]做个像windows计算器显示屏一样无焦点又不反灰的文本框!! 如何把DataSet中的内容写进文本文件 保存xml的问题。高手帮帮我啊! 在下拉列表框中输入字母后鼠标消失,怎么解决啊? 寻求一方法,路过的来指点下! 大家看看这个怎么回事?关于事件的一个问题 .NET设置回刚安装好的时候 求组代码
就上面的图我写一下遍历
XmlNode node = TreeView.nodes.add("");
foreach(XmlNode var in node.ChileNode) {
XmlNode xn = node.nodes.add(var.目录);
foreach(XmlNode var in xn.ChileNode) {
xn.nodes.add(var);
}
}
修改的时候要先定义个类然后
把XML的数据遍历到类中对应的属性
和字段中,那上面的遍历就不对了
要先遍历到类中,然后直接去类中的属性
就可以添加到TreeView
修改的时候就是根据类中的属性对应XML中的节点来修改//TreeView双击事件
private void treeView1_DoubleClick(object sender, EventArgs e)
{
//那要把遍历XML的节点值全部保存到类中
然后根据treeView1.SelectedNode.Text;
来从类中把你要的值,读取到控件中!
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Web;
using System.Xml;
using System.Xml.Xsl;
using System.IO;
namespace Demo
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
/// <summary>
/// 窗体加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void MainForm_Load(object sender, EventArgs e)
{
//填充树形控件
FillTreeView();
} /// <summary>
/// 填充树形控件
/// </summary>
public void FillTreeView()
{
//清空树形控件
myTreeView.Nodes.Clear(); string fileName = "menu.xml"; //文件地址
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(fileName); //添加文件 XmlNodeList xmlList = xmlDoc.SelectSingleNode("Menu").ChildNodes; //获取Menu下的所有子项
foreach (XmlNode xmlNo in xmlList)
{
TreeNode tn = new TreeNode();
XmlElement xe = (XmlElement)xmlNo;
{
tn.Text = xe.GetAttribute("name");
foreach (XmlNode subXmlNo in xmlNo.ChildNodes)
{
TreeNode subTn = new TreeNode();
XmlElement subXE = (XmlElement)subXmlNo;
{
subTn.Text = subXE.GetAttribute("subName");
tn.Nodes.Add(subTn);
}
}
}
myTreeView.Nodes.Add(tn); } } //显示添加故障窗体
private void 添加主故障ToolStripMenuItem_Click(object sender, EventArgs e)
{
MainFault mf = new MainFault();
mf.ShowDialog();
myTreeView.Nodes.Clear();
FillTreeView();
} //显示故障原因窗体
private void 添加故障原因ToolStripMenuItem_Click(object sender, EventArgs e)
{
FaultWhys fw = new FaultWhys();
fw.ShowDialog();
} private void 修改主故障ToolStripMenuItem_Click(object sender, EventArgs e)
{ } private void 修改故障原因ToolStripMenuItem_Click(object sender, EventArgs e)
{ } private void 修改解决方案ToolStripMenuItem_Click(object sender, EventArgs e)
{ } private void 删除选中行ToolStripMenuItem_Click(object sender, EventArgs e)
{
myTreeView.
}
}
}
或者把你的XML文件发到我的QQ邮箱里
把需求也写到邮箱里
明天我收到,我会在晚上6点之前,给你答案!~~~
{}
private void btnDel_Click(object sender, EventArgs e)
{
TreeNode selectedNode = treeView1.SelectedNode;
if (selectedNode == null)
{
MessageBox.Show("请在删除节点之前选中一个节点", "提示");
return;
}
TreeNode parentNode = selectedNode.Parent;
if (parentNode == null)
{
treeView1.Nodes.Remove(selectedNode);
}
else
{
parentNode.Nodes.Remove(selectedNode);
}
treeView1.Update();
treeView1.Select();
}