private void btnOpenProject_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = Properties.Resources.Vb6ProjectFileFilter; if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK) { FileInfo fileToParse = new FileInfo(ofd.FileName); IVbProjectReader parser = new Vb6ProjectReader(); using (Stream stream = fileToParse.OpenRead()) { _project = parser.Read(fileToParse, stream); } Dictionary <string, IEnumerable <ElementBase> > map = new Dictionary <string, IEnumerable <ElementBase> >(); map["REFERENCES"] = _project.References; map["MODULES"] = _project.Modules; map["CLASSES"] = _project.Classes; map["FORMS"] = _project.Forms; map["OBJECTS"] = _project.Objects; foreach (var mapItem in map) { TreeNode node = trvProject.Nodes[0].Nodes[mapItem.Key]; node.Nodes.Clear(); foreach (var item in mapItem.Value.OrderBy(_ => _.Name)) { TreeNode itemNode = new TreeNode(); if (!string.IsNullOrWhiteSpace(item.Name)) { itemNode.Text = item.Name; } else { itemNode.Text = item.FileName; } itemNode.Tag = item; ExtendNode(item, itemNode); node.Nodes.Add(itemNode); } } trvProject.Nodes[0].Nodes["MODULES"].Expand(); trvProject.Nodes[0].Nodes["CLASSES"].Expand(); trvProject.Nodes[0].Nodes["FORMS"].Expand(); } }
private void btnOpenProject_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = Properties.Resources.Vb6ProjectFileFilter; if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK) { FileInfo fileToParse = new FileInfo(ofd.FileName); IVbProjectReader parser = new Vb6ProjectReader(); using (Stream stream = fileToParse.OpenRead()) { _project = parser.Read(fileToParse, stream); } Dictionary<string, IEnumerable<ElementBase>> map = new Dictionary<string, IEnumerable<ElementBase>>(); map["REFERENCES"] = _project.References; map["MODULES"] = _project.Modules; map["CLASSES"] = _project.Classes; map["FORMS"] = _project.Forms; map["OBJECTS"] = _project.Objects; foreach (var mapItem in map) { TreeNode node = trvProject.Nodes[0].Nodes[mapItem.Key]; node.Nodes.Clear(); foreach (var item in mapItem.Value.OrderBy(_ => _.Name)) { TreeNode itemNode = new TreeNode(); if (!string.IsNullOrWhiteSpace(item.Name)) { itemNode.Text = item.Name; } else { itemNode.Text = item.FileName; } itemNode.Tag = item; ExtendNode(item, itemNode); node.Nodes.Add(itemNode); } } trvProject.Nodes[0].Nodes["MODULES"].Expand(); trvProject.Nodes[0].Nodes["CLASSES"].Expand(); trvProject.Nodes[0].Nodes["FORMS"].Expand(); } }