TreeView节点重命名时的问题
[code][color=#0000FF]Private[/color] [color=#0000FF]Sub[/color] FolderTreeView_AfterLabelEdit([color=#0000FF]ByVal[/color] sender [color=#0000FF]As[/color] [color=#0000FF]Object[/color], [color=#0000FF]ByVal[/color] e [color=#0000FF]As[/color] System.Windows.Forms.NodeLabelEditEventArgs) [color=#0000FF]Handles[/color] FolderTreeView.AfterLabelEdit[color=#0000FF]Dim[/color] xmlDoc [color=#0000FF]As[/color] XmlDocument = [color=#0000FF]New[/color] XmlDocument()
xmlDoc.Load(xmlPath)
[color=#0000FF]Dim[/color] xPath [color=#0000FF]As[/color] [color=#0000FF]String[/color]
xPath = GetXPath(focusNode.FullPath.Replace([color=#800000]"[/color][color=#800000]\[/color][color=#800000]"[/color], [color=#800000]"[/color][color=#800000]/[/color][color=#800000]"[/color]))
xPath = [color=#800000]"[/color][color=#800000]/[/color][color=#800000]"[/color] & xPath
[color=#0000FF]Dim[/color] xmlNode [color=#0000FF]As[/color] XmlNode = xmlDoc.SelectSingleNode(xPath)
[color=#008000]'[/color][color=#008000]以上定位XML中的节点的过程[/color][color=#008000]
[/color] [color=#0000FF]If[/color] HasChildNodeNamed(focusNode.Parent, e.Label) [color=#0000FF]Then[/color] [color=#008000]'[/color][color=#008000]判断同目录下是否有同名文件夹[/color][color=#008000]
[/color] MessageBox.Show([color=#800000]"[/color][color=#800000]此目录已经包含名为""[/color][color=#800000]"[/color] & e.Label & [color=#800000]"[/color][color=#800000]""的文件夹[/color][color=#800000]"[/color], [color=#800000]"[/color][color=#800000]警告[/color][color=#800000]"[/color])
e.CancelEdit = [color=#0000FF]True[/color]
[color=#0000FF]Else[/color]
[color=#0000FF]If[/color] e.Label = [color=#800000]""[/color] [color=#0000FF]Then[/color] [color=#008000]'[/color][color=#008000]判断新的名字是否为空[/color][color=#008000]
[/color] MessageBox.Show([color=#800000]"[/color][color=#800000]目录名不能为空[/color][color=#800000]"[/color], [color=#800000]"[/color][color=#800000]警告[/color][color=#800000]"[/color])
e.CancelEdit = [color=#0000FF]True[/color]
[color=#0000FF]Else[/color]
[color=#0000FF]If[/color] isFileNameRight(e.Label) [color=#0000FF]Then[/color] [color=#008000]'[/color][color=#008000]判断时候符合命名规则[/color][color=#008000]
[/color] xmlNode.Attributes([color=#800000]"[/color][color=#800000]Name[/color][color=#800000]"[/color]).Value = e.Label.Trim() [color=#008000]'[/color][color=#008000]改写XML中的相关节点的属性,并去掉前后的空格[/color][color=#008000]
[/color] FolderTreeView.SelectedNode.Text = e.Label.Trim() [color=#008000]'[/color][color=#008000]修改被修改节点显示文本[/color][color=#008000]
[/color] xmlDoc.Save(xmlPath) [color=#008000]'[/color][color=#008000]保存XML文件[/color][color=#008000]
[/color] [color=#0000FF]Else[/color] [color=#008000]'[/color][color=#008000]不符合命名规则[/color][color=#008000]
[/color] MessageBox.Show([color=#800000]"[/color][color=#800000]文件名不能包含任何以下字符:[/color][color=#800000]"[/color] & vbCrLf & [color=#800000]"[/color][color=#800000]\ / : * ? """" < > |[/color][color=#800000]"[/color], [color=#800000]"[/color][color=#800000]警告[/color][color=#800000]"[/color])
e.CancelEdit = [color=#0000FF]True[/color]
[color=#0000FF]End[/color] [color=#0000FF]If[/color]
[color=#0000FF]End[/color] [color=#0000FF]If[/color]
[color=#0000FF]End[/color] [color=#0000FF]If[/color]
[color=#0000FF]End Sub[/color][/code]
问题出在
[code]
[color=#0000FF]If[/color] isFileNameRight(e.Label) [color=#0000FF]Then[/color] [color=#008000]'[/color][color=#008000]判断时候符合命名规则[/color][color=#008000]
[/color] xmlNode.Attributes([color=#800000]"[/color][color=#800000]Name[/color][color=#800000]"[/color]).Value = e.Label.Trim() [color=#008000]'[/color][color=#008000]改写XML中的相关节点的属性,并去掉前后的空格[/color][color=#008000]
[/color] FolderTreeView.SelectedNode.Text = e.Label.Trim() [color=#008000]'[/color][color=#008000]修改被修改节点显示文本[/color][color=#008000]
[/color] xmlDoc.Save(xmlPath) [color=#008000]'[/color][color=#008000]保存XML文件[/color][color=#008000]
[/color][color=#0000FF]Else[/color] [color=#008000]'[/color][color=#008000]不符合命名规则[/color][color=#008000]
[/color] MessageBox.Show([color=#800000]"[/color][color=#800000]文件名不能包含任何以下字符:[/color][color=#800000]"[/color] & vbCrLf & [color=#800000]"[/color][color=#800000]\ / : * ? """" < > |[/color][color=#800000]"[/color], [color=#800000]"[/color][color=#800000]警告[/color][color=#800000]"[/color])
e.CancelEdit = [color=#0000FF]True[/color]
[color=#0000FF]End[/color] [color=#0000FF]If[/color]
[/code]
TreeView中的相应的节点也应该前后的空格去掉,但是实际运行并没有去掉,不知道是为什么
但是XML中的节点去掉了空格
小的没有多少分,还望有人指导下~
但是我先选择“重命名”这个选项,然后文件名被选中,此时可以改文件名,但是我不改文件名,直接点回车确认,也会弹出对话框
怎么解决啊,先谢谢了
页:
[1]