仿文件浏览器
1
using System;
2
using System.Drawing;
3
using System.Collections;
4
using System.ComponentModel;
5
using System.Windows.Forms;
6
using System.Data;
7![]()
8
namespace 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![]()
using System;2
using System.Drawing;3
using System.Collections;4
using System.ComponentModel;5
using System.Windows.Forms;6
using System.Data;7

8
namespace FileView9
{10
/// <summary>11
/// 仿文件浏览器。12
/// </summary>13
public class Form1 : System.Windows.Forms.Form14
{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 code162

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
else184
{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
else196
{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



浙公网安备 33010602011771号