Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Ý nghĩa hàm SuspendLayout() trong Form

  1. #1
    Ngày gia nhập
    05 2007
    Bài viết
    13

    Unhappy Ý nghĩa hàm SuspendLayout() trong Form

    Ai có thể cho mình biết ý nghĩa của hàm SuspendLayout() trong Form. Cảm ơn nhiều.
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

  2. #2
    Ngày gia nhập
    01 2007
    Bài viết
    412

    Trích dẫn Nguyên bản được gửi bởi nttt Xem bài viết
    Ai có thể cho mình biết ý nghĩa của hàm SuspendLayout() trong Form. Cảm ơn nhiều.
    Phương thức này dùng để tránh sự xung đột trong quá trình thêm Form trong lúc Run-time, chẳng hạn khi bạn thêm 2 button, chúng vô tình có cùng tọa độ, tức là có cùng 1 layer (lớp trên form), thật ra đối với newbie tụi mình thì đó không phải lỗi ,và sự thực compiler vẫn chấp nhận, nhưng những dân lập trình chuyên nghiệp thì họ coi đây là 1 lỗi và bác Bill nhà ta đã "chế" ra phương thức trên cho form để khắc phục hiện tượng trên.
    Trong MSDN, có ghi vài dòng sau:

    When adding several controls to a parent control, it is recommended that you call the SuspendLayout method before initializing the controls to be added. After adding the controls to the parent control, call the ResumeLayout method. This will increase the performance of applications with many controls.

    Sau đây là 1 ví dụ lấy từ đó:
    Code:
    private void AddButtons()
    {
       // Suspend the form layout and add two buttons.
       this.SuspendLayout();
       Button buttonOK = new Button();
       buttonOK.Location = new Point(10, 10);
       buttonOK.Size = new Size(75, 25);
       buttonOK.Text = "OK";
    
       Button buttonCancel = new Button();
       buttonCancel.Location = new Point(90, 10);
       buttonCancel.Size = new Size(75, 25);
       buttonCancel.Text = "Cancel";
          
       this.Controls.AddRange(new Control[]{buttonOK, buttonCancel});
       this.ResumeLayout();
    }
    Ngoài ra, bạn có thể tham khảo thêm ở link sau:
    http://www.andreavb.com/forum/viewtopic_1937.html

  3. #3
    Ngày gia nhập
    10 2010
    Nơi ở
    Quận 9
    Bài viết
    13

    "When adding several controls to a parent control, it is recommended that you call the SuspendLayout method before initializing the controls to be added. After adding the controls to the parent control, call the ResumeLayout method. This will increase the performance of applications with many controls."
    -Mình nghĩ cặp lệnh này có tác dụng tăng hiệu năng khi làm việc với nhiều controls, chứ không liên quan tới việc 2 control có chung 1 tọa độ. Thay vì mỗi lần ta add 1 control vào ct phải re-draw lại thì ta add hết rồi mới re-draw
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

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

  1. C# Windows Form : Làm thế nào load vị trí của các button được định nghĩa
    Gửi bởi xskzace trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 0
    Bài viết cuối: 22-07-2013, 09:14 AM
  2. Làm thế nào để click vào nút minimum trong form thì form ẩn đi không xuất hiện ở taskbar?
    Gửi bởi thanhhungph127 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 16-07-2013, 09:45 PM
  3. Cách Refresh Form trong 1 hàm thuộc 1 class khác, mà được gọi trong form đó?
    Gửi bởi troy91 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 14-04-2012, 10:13 PM
  4. SuspendLayout(), ResumeLayout(), EnableVisualStyles
    Gửi bởi toiyeucsharp trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 25-05-2011, 08:12 AM
  5. Thuộc tính IsMdiContainer của mỗi Form có ý nghĩa gì vậy
    Gửi bởi cSharp trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 01-02-2009, 09:21 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