仿文件浏览器

  1using System;
  2using System.Drawing;
  3using System.Collections;
  4using System.ComponentModel;
  5using System.Windows.Forms;
  6using System.Data;
  7
  8namespace FileView
  9{
 10    /// <summary>
 11    /// 仿文件浏览器。
 12    /// </summary>

 13    public class Form1 : System.Windows.Forms.Form
 14    {
 15        private System.Windows.Forms.TreeView treeView1;
 16        private System.Windows.Forms.Splitter splitter1;
 17        private System.Windows.Forms.ListView listView1;
 18        private System.Windows.Forms.ImageList imageList1;
 19        private System.Windows.Forms.ContextMenu contextMenu1;
 20        private System.Windows.Forms.ColumnHeader columnHeader1;
 21        private System.Windows.Forms.ColumnHeader columnHeader2;
 22        private System.Windows.Forms.ColumnHeader columnHeader3;
 23        private System.ComponentModel.IContainer components;
 24
 25        public Form1()
 26        {
 27            //
 28            // Windows 窗体设计器支持所必需的
 29            //
 30            InitializeComponent();
 31
 32            //
 33            // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
 34            //
 35        }

 36
 37        /// <summary>
 38        /// 清理所有正在使用的资源。
 39        /// </summary>

 40        protected override void Dispose( bool disposing )
 41        {
 42            if( disposing )
 43            {
 44                if (components != null
 45                {
 46                    components.Dispose();
 47                }

 48            }

 49            base.Dispose( disposing );
 50        }

 51
 52        Windows Form Designer generated code
162
163        /// <summary>
164        /// 应用程序的主入口点。
165        /// </summary>

166        [STAThread]
167        static void Main() 
168        {
169            Application.Run(new Form1());
170        }

171
172        // 添加一个新的节点
173        protected void TreeView_AddNode(System.Object sender, System.EventArgs e)
174        {
175            TreeNode newNode = new TreeNode("新添加的节点");
176            if (treeView1.SelectedNode == null)
177            {
178                // 没有选择节点的时候,添加到根节点
179                treeView1.Nodes.Add(newNode);
180                newNode.Text = "根节点";
181                newNode.Tag  = "0";
182            }

183            else
184            {
185                // 在选择的当前节点下面添加一个新的子节点
186                int i;
187                if (treeView1.SelectedNode.Tag != null)
188                {
189                    i = int.Parse(treeView1.SelectedNode.Tag.ToString());
190                    i++;
191                    treeView1.SelectedNode.Nodes.Add(newNode);
192                    newNode.Text = i.ToString()+"级子节点";
193                    newNode.Tag  = i.ToString();
194                }

195                else
196                {
197                    i = 1;
198                    treeView1.SelectedNode.Nodes.Add(newNode);
199                    newNode.Text = i.ToString()+"级子节点";
200                    newNode.Tag  = i.ToString();
201                }

202            }

203        }

204
205        // 删除选择的节点
206        protected void TreeView_DelNode(System.Object sender, System.EventArgs e)
207        {
208            treeView1.Nodes.Remove(treeView1.SelectedNode);
209        }

210
211        // 删除所有的节点
212        protected void TreeView_DelAllNode(System.Object sender, System.EventArgs e)
213        {
214            treeView1.Nodes.Clear();
215        }

216
217        // 选择大图标进行显示
218        protected void ListView_BigView(System.Object sender, System.EventArgs e)
219        {
220            listView1.View = System.Windows.Forms.View.LargeIcon;
221        }

222
223        // 选择小图标进行显示
224        protected void ListView_SmallView(System.Object sender, System.EventArgs e)
225        {
226            listView1.View = System.Windows.Forms.View.SmallIcon;
227        }

228
229        // 选择列表进行显示
230        protected void ListView_ListView(System.Object sender, System.EventArgs e)
231        {
232            listView1.View = System.Windows.Forms.View.List;
233        }

234
235        // 选择详细列表进行显示
236        protected void ListView_DetailView(System.Object sender, System.EventArgs e)
237        {
238            listView1.View = System.Windows.Forms.View.Details;
239        }

240
241        private void contextMenu1_Popup(object sender, System.EventArgs e)
242        {
243            // 清空菜单项。
244            contextMenu1.MenuItems.Clear();
245            // 根据当前选择的组件动态的生成上下文菜单。
246            if (contextMenu1.SourceControl == treeView1)
247            {
248                contextMenu1.MenuItems.Add("添加节点"new EventHandler(this.TreeView_AddNode));
249                contextMenu1.MenuItems.Add("删除节点"new EventHandler(this.TreeView_DelNode));
250                contextMenu1.MenuItems.Add("删除所有节点"new EventHandler(this.TreeView_DelAllNode));
251            }

252            if (contextMenu1.SourceControl == listView1)
253            {
254                contextMenu1.MenuItems.Add("大图标"new EventHandler(this.ListView_BigView));
255                contextMenu1.MenuItems.Add("小图标"new EventHandler(this.ListView_SmallView));
256                contextMenu1.MenuItems.Add("列表"new EventHandler(this.ListView_ListView));
257                contextMenu1.MenuItems.Add("详细"new EventHandler(this.ListView_DetailView));
258            }

259        }

260        private void treeView1_ShowListView()
261        {
262            int i;
263            // 清空列表中的内容。
264            listView1.Items.Clear();
265            if (treeView1.SelectedNode.Nodes.Count == 0)
266                return;
267            // 重新添加新的子节点信息
268            for (i = 0; i < treeView1.SelectedNode.Nodes.Count; i++)
269            {
270                listView1.Items.Add(treeView1.SelectedNode.Nodes[i].Text.ToString(), 4);
271            }

272        }

273        private void treeView1_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
274        {
275            treeView1_ShowListView();
276        }

277
278        private void treeView1_Click(object sender, System.EventArgs e)
279        {
280            treeView1_ShowListView();
281        }

282    }

283}

284
posted on 2007-08-21 16:43  Gofficer  阅读(325)  评论(0)    收藏  举报