Cách tạo ứng dụng quản lý tệp đơn giản trong Windows Forms
Việc tạo lại các ứng dụng phổ biến có thể rất hữu ích khi tìm hiểu về Windows Forms. Làm như vậy cũng có thể giúp củng cố kiến thức cơ bản của bạn về lập trình. Một ví dụ về ứng dụng bạn có thể tạo là trình quản lý tệp cơ bản.
Ứng dụng quản lý tệp phải bao gồm các liên kết nhanh đến các thư mục Windows phổ biến (Máy tính để bàn, Tài liệu của tôi, Ảnh, Nhạc và Video). Nó cũng phải có khả năng điều hướng các thư mục lên và xuống.
Mục Lục
Cách thêm các phần tử giao diện người dùng vào Canvas
Đầu tiên, tạo một ứng dụng Windows Form mới trong Visual Studio. Sau khi hoàn thành, bạn có thể bắt đầu thêm các phần tử giao diện người dùng cho trình quản lý tệp vào canvas.
- Khi canvas đã mở, hãy tìm kiếm Cái nút Phần tử giao diện người dùng bằng Hộp công cụ.
- Kéo và thả năm nút để đại diện cho các liên kết nhanh có sẵn trên máy tính Windows. Chúng sẽ đại diện cho các thư mục Desktop, My Documents, Pictures, Music và Videos.
- Đánh dấu lần lượt từng nút và điều hướng đến Cửa sổ thuộc tính. Thay đổi từng nút Tên tài sản và Thuộc tính văn bản thành các giá trị sau:
Cái nút Tên tài sản Thuộc tính văn bản 1 button_Desktop Máy tính để bàn 2 button_Documents Tai liệu của tôi 3 button_Pictures Những bức ảnh 4 button_Music Âm nhạc 5 button_Videos Video -
Tìm kiếm một FlowLayoutPanel Phần tử giao diện người dùng bằng Hộp công cụ.
- Kéo và thả nó vào canvas và đặt nó bên cạnh các liên kết nhanh. Đây là nơi bạn sẽ hiển thị các tệp và thư mục của mình dựa trên thư mục bạn đang xem.
- Đánh dấu bảng điều khiển và thay đổi Tên thuộc tính “panel_FilesList”.
Cách lấy đường dẫn tệp hiện tại
Khi bạn nhấp vào một nút (ví dụ: Máy tính để bàn), danh sách các thư mục và tệp trên Máy tính để bàn sẽ hiển thị trong bảng điều khiển. Để thực hiện việc này, bạn có thể lấy đường dẫn tệp của thư mục bạn đã nhấp vào, tức là “C: Users User Desktop”.
Viết logic cho điều này trong tệp C # mã phía sau cho biểu mẫu. Nếu bạn chưa quen với các lớp C #, bạn có thể tìm hiểu thêm về các lớp trong C #.
- Nhấp đúp vào từng nút trên giao diện người dùng. Điều này sẽ tạo ra các hàm sự kiện nhấp chuột cho mỗi nút bên trong tệp C # cho biểu mẫu. Các chức năng này sẽ chạy khi bạn nhấp vào nút được liên kết.
private void button_Desktop_Click(object sender, EventArgs e)
{
}private void button_Documents_Click(object sender, EventArgs e)
{
}private void button_Pictures_Click(object sender, EventArgs e)
{
}private void button_Music_Click(object sender, EventArgs e)
{
}private void button_Videos_Click(object sender, EventArgs e)
{
} - Để lấy đường dẫn tệp của một thư mục windows đặc biệt như Màn hình nền, hãy sử dụng Môi trường.GetFolderPath () phương pháp. Thao tác này sẽ trả về một chuỗi đường dẫn tệp cho thư mục, ví dụ: “C: Users User Desktop”. Thêm điều này vào từng hàm và chuyển giá trị đường dẫn tệp vào một hàm khác được gọi là DisplayFiles ()mà bạn sẽ tạo sau.
public Form1()
{
InitializeComponent();
DisplayFiles(Environment.GetFolderPath(Environment.SpecialFolder.Desktop));
}private void button_Desktop_Click(object sender, EventArgs e)
{
DisplayFiles(Environment.GetFolderPath(Environment.SpecialFolder.Desktop));
}private void button_Documents_Click(object sender, EventArgs e)
{
DisplayFiles(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments));
}private void button_Pictures_Click(object sender, EventArgs e)
{
DisplayFiles(Environment.GetFolderPath(Environment.SpecialFolder.MyPictures));
}private void button_Music_Click(object sender, EventArgs e)
{
DisplayFiles(Environment.GetFolderPath(Environment.SpecialFolder.MyMusic));
}private void button_Videos_Click(object sender, EventArgs e)
{
DisplayFiles(Environment.GetFolderPath(Environment.SpecialFolder.MyVideos));
}
Cách kết xuất tệp cho thư mục đã chọn
Hiển thị danh sách các tệp tùy thuộc vào nút Màn hình nền, Tài liệu của tôi, Ảnh, Nhạc hoặc Video mà bạn nhấp vào.
- Nhập không gian tên System.IO ở đầu tệp.
using System.IO; - Tạo một chức năng mới được gọi là DisplayFiles ()để hiển thị các tệp và thư mục của một thư mục đã chọn.
private void DisplayFiles(string filePath)
{
} - Bên trong cái mới DisplayFiles () chức năng, biên dịch danh sách tất cả các thư mục và tệp bên trong thư mục đã chọn.
string[] filesList = Directory.GetDirectories(filePath).Concat(Directory.GetFiles(filePath)).ToArray(); - Đảm bảo rằng bảng hiển thị danh sách tệp và thư mục trống.
panel_FilesList.Controls.Clear(); - Lưu trữ thư mục hiện tại trong một biến toàn cục.
currentLocation = filePath; - Khai báo biến toàn cục ở đầu lớp.
stringcurrentLocation = ""; - Quay lại DisplayFiles () hàm số, tạo một nút cho mỗi thư mục và tệp. Trong vòng lặp for, hãy tách biệt tên khỏi phần còn lại của đường dẫn tệp. Lập trình tạo một nút mới, với tên của tệp hoặc thư mục làm văn bản của nút.
for (int i = 0; i < filesList.Length-1; i++)
{
bool isHidden = ((File.GetAttributes(filesList[i]) & FileAttributes.Hidden) == FileAttributes.Hidden);if (!isHidden)
{
var startOfName = filesList[i].LastIndexOf("\");
var fileName = filesList[i].Substring(startOfName + 1, filesList[i].Length - (startOfName + 1));
Button newButton = new Button();
newButton.Text = fileName;
newButton.Name = filesList[i];
newButton.Location = new Point(70, 70);
newButton.Size = new Size(800, 100);
newButton.TextAlign = ContentAlignment.MiddleLeft;
newButton.Padding = new Padding(24, 0, 0, 0);
panel_FilesList.Controls.Add(newButton);
}
} - Nhấn nút phát ở đầu Visual Studio để chạy chương trình.
- Nhấp vào bất kỳ liên kết nhanh nào. Ví dụ: nếu bạn nhấp vào Tai liệu của tôiBảng điều khiển bên phải sẽ có danh sách các tệp và thư mục trong Tai liệu của tôi thư mục.
- Ví dụ: nếu bạn nhấp vào một liên kết nhanh khác, Videobảng điều khiển sẽ xóa và thay đổi để hiển thị các tệp và thư mục trong Video thư mục.
Cách điều hướng thư mục lên và xuống
Sửa đổi mã để khi bạn nhấp vào một thư mục được hiển thị trong danh sách, bạn sẽ di chuyển xuống một thư mục. Bạn cũng có thể tạo một nút quay lại để di chuyển trở lại thư mục trước đó.
- Để di chuyển xuống một thư mục, hãy tạo một hàm mới có tên button_Click_Open (). Nếu người dùng nhấp vào một thư mục trong danh sách, chương trình sẽ gọi DisplayFiles () chức năng hiển thị các tệp bên trong thư mục đó. Thay vào đó, nếu người dùng nhấp vào tệp, chương trình sẽ mở tệp đó.
private void button_Click_Open(object sender, EventArgs e)
{
Button button = (Button)sender;
string filePath = button.Name;try
{
DisplayFiles(filePath);
}
catch (Exception ex)
{
var process = new System.Diagnostics.Process();
process.StartInfo = new System.Diagnostics.ProcessStartInfo() { UseShellExecute = true, FileName = filePath };
process.Start();
}
} - bên trong DisplayFiles () , sửa đổi phần mã đang tạo một nút mới. Thêm một dòng mới sau khi tạo nút để đính kèm dòng mới button_Click_Open () chức năng của sự kiện Click.
newButton.Click += button_Click_Open; - Để điều hướng sao lưu một thư mục, hãy tạo một mặt sau cái nút. Trên canvas, nhấp và kéo một nút mới bằng Hộp công cụ.
- Làm nổi bật cái mới Mặt sau cái nút. Trong cửa sổ thuộc tính, thay đổi Thuộc tính văn bản thành “
private void back_Click(object sender, EventArgs e)
{
}
var previousFolder = this.currentLocation.Substring(0, this.currentLocation.LastIndexOf("\"));
DisplayFiles(previousFolder);
Tạo ứng dụng trên máy tính để bàn bằng Windows Forms
Trình quản lý tệp là một ứng dụng đơn giản mà bạn có thể tạo khi tìm hiểu cách tạo ứng dụng Windows Form. Bạn có thể sử dụng Hộp công cụ để kéo và thả một bảng điều khiển vào canvas, cùng với nhiều nút khác.
Giờ đây, ứng dụng của bạn đã có chức năng chính, vui lòng sửa đổi các thuộc tính của nút để cải thiện thiết kế của Trình quản lý tệp.
Khám phá một số ứng dụng dành cho người mới bắt đầu khác mà bạn có thể tạo khi tìm hiểu về các ứng dụng Windows Forms.