16,553
社区成员
发帖
与我相关
我的任务
分享
Private Sub FolderTreeView_AfterLabelEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.NodeLabelEditEventArgs) Handles FolderTreeView.AfterLabelEdit
Dim xmlDoc As XmlDocument = New XmlDocument()
xmlDoc.Load(xmlPath)
Dim xPath As String
xPath = GetXPath(focusNode.FullPath.Replace("\", "/"))
xPath = "/" & xPath
Dim xmlNode As XmlNode = xmlDoc.SelectSingleNode(xPath)
'以上定位XML中的节点的过程
If HasChildNodeNamed(focusNode.Parent, e.Label) Then '判断同目录下是否有同名文件夹
MessageBox.Show("此目录已经包含名为""" & e.Label & """的文件夹", "警告")
e.CancelEdit = True
Else
If e.Label = "" Then '判断新的名字是否为空
MessageBox.Show("目录名不能为空", "警告")
e.CancelEdit = True
Else
If isFileNameRight(e.Label) Then '判断时候符合命名规则
xmlNode.Attributes("Name").Value = e.Label.Trim() '改写XML中的相关节点的属性,并去掉前后的空格
FolderTreeView.SelectedNode.Text = e.Label.Trim() '修改被修改节点显示文本
xmlDoc.Save(xmlPath) '保存XML文件
Else '不符合命名规则
MessageBox.Show("文件名不能包含任何以下字符:" & vbCrLf & "\ / : * ? """" < > |", "警告")
e.CancelEdit = True
End If
End If
End If
End Sub
If isFileNameRight(e.Label) Then '判断时候符合命名规则
xmlNode.Attributes("Name").Value = e.Label.Trim() '改写XML中的相关节点的属性,并去掉前后的空格
FolderTreeView.SelectedNode.Text = e.Label.Trim() '修改被修改节点显示文本
xmlDoc.Save(xmlPath) '保存XML文件
Else '不符合命名规则
MessageBox.Show("文件名不能包含任何以下字符:" & vbCrLf & "\ / : * ? """" < > |", "警告")
e.CancelEdit = True
End If
If e.Label = "" Then '判断新的名字是否为空
MessageBox.Show("目录名不能为空", "警告")
e.CancelEdit = True
Else
……