- [SQLSERVER] Loại bỏ Restricted User trên database MSSQL
- [C#] Hướng dẫn tạo mã QRcode Style trên winform
- [C#] Hướng dẫn sử dụng temp mail service api trên winform
- [C#] Hướng dẫn tạo mã thanh toán VietQR Pay không sử dụng API trên winform
- [C#] Hướng Dẫn Tạo Windows Service Đơn Giản Bằng Topshelf
- [C#] Chia sẻ source code đọc dữ liệu từ Google Sheet trên winform
- [C#] Chia sẻ source code tạo mã QR MOMO đa năng Winform
- [C#] Chia sẻ source code phần mềm lên lịch tự động chạy ứng dụng Scheduler Task Winform
- [Phần mềm] Tải và cài đặt phần mềm Sublime Text 4180 full version
- [C#] Hướng dẫn download file từ Minio Server Winform
- [C#] Hướng dẫn đăng nhập zalo login sử dụng API v4 trên winform
- [SOFTWARE] Phần mềm gởi tin nhắn Zalo Marketing Pro giá rẻ mềm nhất thị trường
- [C#] Việt hóa Text Button trên MessageBox Dialog Winform
- [DEVEXPRESS] Chia sẻ code các tạo report in nhiều hóa đơn trên XtraReport C#
- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
- [C#] Hướng dẫn viết ứng dụng chat với Gemini AI Google Winform
Tạo TabForm từ DocumentManager bằng C#
Bài trước mình đã hướng dẫn các bạn tạo MdiForm từ sử dụng control DocumentManager và bây giờ mình giới thiệu bài tiếp theo về công cụ này nhưng với một View khác đó là TabbedView. Khi bạn thiết kế ứng dụng mà có nhiều Form con hiển thị trong một form chính thì TabbedView cũng là một giải pháp hay cũng giống như phân tab của Google Chrome. Bạn có thể xem hình minh họa sau để biết rõ hơn
Sau đây mình sẽ hướng dẫn các bạn các bước chi tiết để thực hiện:
B1: Tạo mới Project
Sau đó chọn Form là RibbonForm
Thiết kế giao diện như hình bên dưới
B3: Kéo control DocumentManager từ toolbox và khai báo thuộc tính như hình sau
B4: Thêm một Form mới để làm Form con (Trong ví dụ này mình tạo form mới là Form2)
B5: Trong sự kiện nào đó bạn cần hiển thị Form thì code như sau:
Thư viện sử dụng:
using DevExpress.XtraBars.Docking2010.Views.Tabbed;
using DevExpress.XtraEditors;
Code chính
public Form1()
{
InitializeComponent();
//Sự kiện khi một Document mới được add
tabbedView1.DocumentAdded += tabbedView1_DocumentAdded;
}
#region "Var"
int _count = 0;
#endregion
void tabbedView1_DocumentAdded(object sender, DevExpress.XtraBars.Docking2010.Views.DocumentEventArgs e)
{
//Thêm màu cho Document mới
((Document)tabbedView1.Documents[tabbedView1.Documents.Count - 1]).Appearance.Header.BackColor = RandomColor();
}
private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
_count += 1;
Form2 f = new Form2(); //Tạo form mới
f.MdiParent = this; //Parent là form hiện tại
f.Text = "Caption - " + _count.ToString(); //Thay caption cho dễ phân biệt
//Add button vào form cho dễ phân biệt các Form
SimpleButton btn = new SimpleButton() { Text = "Laptrinhvb.net", Width = 200 }; //
btn.Location = new Point(20 *_count, 20 * _count);
f.Controls.Add(btn); //Add button vào form
f.Show(); //Hiển thị Form
}
//Lấy màu ngẫu nhiên
Color RandomColor()
{
Random r = new Random();
Color c = Color.FromArgb(r.Next(255), r.Next(255), r.Next(255));
return c;
}
Và đây là video hướng dẫn chi tiết các bạn có thể tham khảo
Chúc thành công. Mọi thắc mắc hãy đặt câu hỏi ở http://hoidap.laptrinhvb.net/ nhé các bạn. Xin cảm ơn!