Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: WeifenLuo WinFormsUI Docking - DockPanel Suite for .Net 2.0

  1. #1
    Ngày gia nhập
    09 2008
    Nơi ở
    Kĩ viện
    Bài viết
    169

    Mặc định WeifenLuo WinFormsUI Docking - DockPanel Suite for .Net 2.0

    Cái này free-open source, là của một tác giả người Trung Quốc, tên là Weifen Luo, mình vớ được trên Code project.


    Screenshot.


    Cái này đã từng được sử dụng để làm editor cho NeoAxis(một game engine commercial) nên có thể yên tâm hoàn toàn về chất lượng và độ ổn định.

    Download tại đây

    Sau khi download thì build lấy cái assembly WeifenLuo.WinFormsUI.Docking.dll, add nó vào winform project. Sau đó kéo nó vào hộp công cụ(Toolbox).


    Thiết kế form như sau:

    Set IsMdiContainer = true;

    Tạo cái DockPanel(vừa add vào Toolbox):


    Set Dock property cho nó là Fill:


    Tạo mới một form thay code nó sinh ngẫu nhiên thành:
    Visual C# Code:
    1. using System;
    2. using System.Collections.Generic;
    3. using System.ComponentModel;
    4. using System.Data;
    5. using System.Drawing;
    6. using System.Text;
    7. using System.Windows.Forms;
    8.  
    9. namespace Example
    10. {
    11.     public partial class Window1 : WeifenLuo.WinFormsUI.Docking.DockContent
    12.     {
    13.         public Window1()
    14.         {
    15.             InitializeComponent();
    16.         }
    17.     }
    18. }
    Các object có thể dock được trên dockpanel thì class của nó phải kế thừa từ WeifenLuo.WinFormsUI.Docking.DockContent.

    Chuyển sang design mode, có một số property cần chú ý:
    -ShowHint: vị trí mà nó xuất hiện khi show lần đầu tiên.
    -TabText: text trên tab của nó.
    -HideOnClose: Ẩn khi đóng, có nghĩa là khi user close nó thì nó không bị close hẳn(dispose), mà chỉ bị hide đi.
    -DockAreas: Chỉ định những nơi mà dock content có thể "tọa lạc".

    Code của main form.
    Visual C# Code:
    1. using System;
    2. using System.Collections.Generic;
    3. using System.ComponentModel;
    4. using System.Data;
    5. using System.Drawing;
    6. using System.Text;
    7. using System.Windows.Forms;
    8.  
    9. namespace Example
    10. {
    11.     public partial class MainForm : Form
    12.     {
    13.         private Window1 window1 = new Window1();
    14.  
    15.         public MainForm()
    16.         {
    17.             InitializeComponent();
    18.  
    19.             // Load thông tin dock nếu file thông tin tồn tại(chương trình đã chạy trước đó một lần)
    20.             if (System.IO.File.Exists("dock.xml"))
    21.                 dockPanel1.LoadFromXml("dock.xml", new WeifenLuo.WinFormsUI.Docking.DeserializeDockContent(GetContentFromPersistString));
    22.         }
    23.  
    24.         private WeifenLuo.WinFormsUI.Docking.IDockContent GetContentFromPersistString(string persistString)
    25.         {
    26.             if (persistString == window1.GetType().ToString())
    27.             {
    28.                 return window1;
    29.             }
    30.             return null;
    31.         }
    32.  
    33.         private void MainForm_Load(object sender, EventArgs e)
    34.         {
    35.         }
    36.  
    37.         private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
    38.         {
    39.             // Lưu thông tin dock ra file
    40.             dockPanel1.SaveAsXml("dock.xml");
    41.         }
    42.  
    43.         private void leftToolStripMenuItem_Click(object sender, EventArgs e)
    44.         {
    45.             window1.Show(dockPanel1);
    46.         }
    47.     }
    48. }
    Chạy chương trình, View -> Window 1.







    Có thể thêm Window 2, Window 3 để test.

    Hết
    Phá toái hư không - Bạch nhật thăng thiên.

  2. #2
    Ngày gia nhập
    03 2008
    Bài viết
    1

    Bạn ơi, có thể post thêm về vấn đề này được không! Mình đang tìm thử dùng cái này! Nhưng tài liệu về nó khó tìm quá! Mình đang tập trung làm cái nested ấy! Cám ơn bạn nhiều!

  3. #3
    Ngày gia nhập
    01 2008
    Nơi ở
    Đồng Tháp
    Bài viết
    32

    Cho mình hỏi tí.
    Cái control này mình không thay đổi được background hay backgroundImanges được sao anh?
    Thấy nó có màu đen xấu quá, mà đưa vào mainform thì quá xấu luôn.

Các đề tài tương tự

  1. Key Avira premium security suite 1 năm
    Gửi bởi FrankanDK trong diễn đàn Software (Phần mềm) | Ebooks
    Trả lời: 0
    Bài viết cuối: 15-05-2012, 08:53 AM
  2. Video Training: Csharp For Programmers Course Suite
    Gửi bởi tesulakata trong diễn đàn Công cụ, ebooks C#, ASP.NET, và Windows Mobile
    Trả lời: 2
    Bài viết cuối: 22-05-2011, 09:50 PM
  3. Corel Graphics Suite, x5
    Gửi bởi digiman87 trong diễn đàn Software (Phần mềm) | Ebooks
    Trả lời: 0
    Bài viết cuối: 09-02-2011, 10:52 PM
  4. Corel Graphics Suite X5 Full
    Gửi bởi digiman87 trong diễn đàn Software (Phần mềm) | Ebooks
    Trả lời: 0
    Bài viết cuối: 04-02-2011, 12:23 PM
  5. CSharp For Programmers Course Suite
    Gửi bởi Kevin Hoang trong diễn đàn Công cụ, ebooks C#, ASP.NET, và Windows Mobile
    Trả lời: 1
    Bài viết cuối: 21-03-2009, 01:22 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn