123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.IO;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace WindowsFormsApp19
- {
- public partial class Form10 : Form
- {
- int koef = 1;
- public Form10()
- {
- InitializeComponent();
- treeView1.BeforeSelect += treeView1_BeforeSelect;
- treeView1.BeforeExpand += treeView1_BeforeExpand;
- // заполняем дерево дисками
- FillDriveNodes();
- trackBar1.Scroll += trackBar1_Scroll;
- this.Width = 400;
- button1.Width = 40;
- button1.Left = 40;
- button1.Text = "";
- button1.BackColor = Color.Aqua;
- timer1.Interval = 500; // 500 миллисекунд
- timer1.Enabled = true;
- button1.Click += button1_Click;
- timer1.Tick += timer1_Tick;
- }
- private void Form10_Load(object sender, EventArgs e)
- {
- }
- void treeView1_BeforeExpand(object sender, TreeViewCancelEventArgs e)
- {
- e.Node.Nodes.Clear();
- string[] dirs;
- try
- {
- if (Directory.Exists(e.Node.FullPath))
- {
- dirs = Directory.GetDirectories(e.Node.FullPath);
- if (dirs.Length != 0)
- {
- for (int i = 0; i < dirs.Length; i++)
- {
- TreeNode dirNode = new TreeNode(new DirectoryInfo(dirs[i]).Name);
- FillTreeNode(dirNode, dirs[i]);
- e.Node.Nodes.Add(dirNode);
- }
- }
- }
- }
- catch (Exception ex) { }
- }
- // событие перед выделением узла
- void treeView1_BeforeSelect(object sender, TreeViewCancelEventArgs e)
- {
- e.Node.Nodes.Clear();
- string[] dirs;
- try
- {
- if (Directory.Exists(e.Node.FullPath))
- {
- dirs = Directory.GetDirectories(e.Node.FullPath);
- if (dirs.Length != 0)
- {
- for (int i = 0; i < dirs.Length; i++)
- {
- TreeNode dirNode = new TreeNode(new DirectoryInfo(dirs[i]).Name);
- FillTreeNode(dirNode, dirs[i]);
- e.Node.Nodes.Add(dirNode);
- }
- }
- }
- }
- catch (Exception ex) { }
- }
- // получаем все диски на компьютере
- private void FillDriveNodes()
- {
- try
- {
- foreach (DriveInfo drive in DriveInfo.GetDrives())
- {
- TreeNode driveNode = new TreeNode { Text = drive.Name };
- FillTreeNode(driveNode, drive.Name);
- treeView1.Nodes.Add(driveNode);
- }
- }
- catch (Exception ex) { }
- }
- // получаем дочерние узлы для определенного узла
- private void FillTreeNode(TreeNode driveNode, string path)
- {
- try
- {
- string[] dirs = Directory.GetDirectories(path);
- foreach (string dir in dirs)
- {
- TreeNode dirNode = new TreeNode();
- dirNode.Text = dir.Remove(0, dir.LastIndexOf("\\") + 1);
- driveNode.Nodes.Add(dirNode);
- }
- }
- catch (Exception ex) { }
- }
- private void trackBar1_Scroll(object sender, EventArgs e)
- {
- label1.Text = String.Format("Текущее значение: {0}", trackBar1.Value);
- }
- private void timer1_Tick(object sender, EventArgs e)
- {
- progressBar1.PerformStep();
- if (button1.Left == (this.Width - button1.Width - 10))
- {
- koef = -1;
- }
- else if (button1.Left == 0)
- {
- koef = 1;
- }
- button1.Left += 10 * koef;
- }
- // обработчик нажатия на кнопку
- void button1_Click(object sender, EventArgs e)
- {
- if (timer1.Enabled == true)
- {
- timer1.Stop();
- }
- else
- {
- timer1.Start();
- }
- }
- private void button1_Click_1(object sender, EventArgs e)
- {
- }
- private void button2_Click(object sender, EventArgs e)
- {
- Form11 frm11 = new Form11();
- frm11.Show();
- }
- }
- }
|