@@ -111,6 +111,7 @@ private bool OpenFirstXmlDocument(XmlDocument doc)
111111 if ( childNode . NodeType != XmlNodeType . Attribute )
112112 {
113113 var treeNode = new TreeNode ( childNode . Name ) ;
114+ treeNode . Tag = childNode ;
114115 treeView1 . Nodes . Add ( treeNode ) ;
115116 if ( childNode . ChildNodes . Count > 0 && ! IsTextNode ( childNode ) )
116117 {
@@ -391,6 +392,7 @@ private void ExpandNode(TreeNode parentNode, XmlNode node)
391392 foreach ( XmlNode childNode in node . ChildNodes )
392393 {
393394 var treeNode = new TreeNode ( childNode . Name ) ;
395+ treeNode . Tag = childNode ;
394396 if ( parentNode == null )
395397 treeView1 . Nodes . Add ( treeNode ) ;
396398 else
@@ -1176,5 +1178,36 @@ private void SelectOnlyThis(int index)
11761178 listViewLanguageTags . Items [ index ] . Focused = true ;
11771179 }
11781180
1181+ private void listViewLanguageTags_DoubleClick ( object sender , EventArgs e )
1182+ {
1183+ if ( listViewLanguageTags . SelectedItems . Count != 1 )
1184+ {
1185+ return ;
1186+ }
1187+
1188+ var node = listViewLanguageTags . SelectedItems [ 0 ] . Tag as XmlNode ;
1189+ if ( node == null )
1190+ {
1191+ return ;
1192+ }
1193+
1194+ foreach ( TreeNode treeNode in treeView1 . Nodes )
1195+ {
1196+ if ( treeNode . Tag == node )
1197+ {
1198+ treeView1 . SelectedNode = treeNode ;
1199+ return ;
1200+ }
1201+ foreach ( TreeNode subTreeNode in treeNode . Nodes )
1202+ {
1203+ if ( subTreeNode . Tag == node )
1204+ {
1205+ treeView1 . SelectedNode = subTreeNode ;
1206+ return ;
1207+ }
1208+ }
1209+ }
1210+ }
1211+
11791212 }
11801213}
0 commit comments