Add Control by Code

Đến với bài viết hôm nay ta sẽ tìm hiểu một số thủ thuật tương tác control thường dùng trong lập trình windows form với csharp dotnet. Như ta biết rằng khi lập trình ứng dụng windows form trong visual studio ta được hỗ trợ mạnh mẽ cho việc tạo, xử lý control bằng các thao tác kéo thả. Tại đây ta có thể dễ dàng thiết lập giá trị cho các thuộc tính và thấy được thay đổi trực quan. Nhưng trong các ứng dụng không phải khi nào cũng có thể dùng hoàn toàn các thao tác kéo thả; Đối với những control thay đổi “động” theo dữ liệu thì ta không thể cố định giá trị trước; Có những control được sinh ra ở một bước nào đó sau khi chạy chương trình… Như vậy ta cũng cần phải thông thạo các thao tác xử lý control trên code để có thể áp dụng trong nhiều dạng ứng dụng khác nhau.a sẽ tìm hiểu một số thủ thuật tương tác control thường dùng trong lập trình windows form với csharp dotnet. Như ta biết rằng khi lập trình ứng dụng windows form trong visual studio ta được hỗ trợ mạnh mẽ cho việc tạo, xử lý control bằng các thao tác kéo thả. Tại đây ta có thể dễ dàng thiết lập giá trị cho các thuộc tính và thấy được thay đổi trực quan. Nhưng trong các ứng dụng không phải khi nào cũng có thể dùng hoàn toàn các thao tác kéo thả; Đối với những control thay đổi “động” theo dữ liệu thì ta không thể cố định giá trị trước; Có những control được sinh ra ở một bước nào đó sau khi chạy chương trình… Như vậy ta cũng cần phải thông thạo các thao tác xử lý control trên code để có thể áp dụng trong nhiều dạng ứng dụng khác nhau.

Thủ thuật tìm Code

Tiếp tục vấn đề thiết lập thuộc tính cho control: Các thao tác này sẽ rất dễ dàng khi thao tác trong giao diện kéo thả windows form với visual studio , muốn xác lập thuộc tính nào chỉ cần vào bảng properties và dễ dàng thay đổi; và bạn không cần quan tâm code bên dưới là thế nào vì chương trình đã tự thêm code. Còn trường hợp xử lý trên code: Giả sử bạn muốn xác lập một thuộc tính nào đó cho control mà lại chưa biết đoạn code đó như thế nào?! Có thể bạn sẽ dùng tài liệu nào đó hoặc là tìm kiếm trên mạng. Có một cách sẽ nhanh và hiệu quả hơn rất nhiều đó là xem trực tiếp mã do trình biên dịch tự sinh ra.

Để dễ hiểu hơn ta xét ví dụ bên dưới:
Giả sử ta cần tạo 1 comboBox bằng Code với một số thuộc tính như: kích thước và màu sắc font chữ thay đổi, có 2 phần tử như hình vẽ, thiết lập thuộc tính anchor…
Xử lý Control trong Csharp | MicrosoftTech.Net
Với những yêu cầu trên nếu làm trong giao diện kéo thả của windows form thì không có gì để nói, nhưng nếu thực hiện trong code thì có thể bạn sẽ gặp chút khó khăn vì không biết được code để thiết lập là gì??! Thay vì mất thời gian tìm kiếm, tra cứu ở đâu đó bạn có thể dễ dàng xem chúng bằng cách vào tab Solution Explorer, vào Form chứa control bạn đang làm mẫu, tiếp đó vào file Designer.cs là ta sẽ có những đoạn code mình cần.

Nhìn vào hình ta sẽ thấy được đoạn code thiết lập thuộc tính Anchor, Font, thêm các phần tử cho comboBox rồi cả thuộc tính xác lập vị trí – Location…

Với cách làm này sẽ giúp bạn dễ dàng khám phá những đoạn code mà mình chưa biết, giúp tiết kiệm được nhiều thời gian hơn!
Xử lý Control trong Csharp | MicrosoftTech.Net
Xử lý Code tạo Event cho Controls

Vấn đề tiếp theo là cách tạo Event cho Code. Trong giao diện kéo thẻ khi muốn xác lập Event cho controls nào chỉ cần chọn Control đó và nhấp đôi chuột vào Event tương ứng trong bảng properties để add code xử lý nữa là xong.
Xử lý Control trong Csharp | MicrosoftTech.Net
Và… thủ thuật để có đoạn code xác lập Event cũng tương tự như trên. Tại file Designer.cs ta sẽ có được cấu trúc của code gọi Event, còn trong file thiết Form chứa control tương ứng sẽ có code thực thi Event. Như vậy ta đã có đủ trọn bộ code để xử lý Event cho một controls. Theo ý kiến của cá nhân tôi, Evetn của các Control thường rất đa dạng kiểu đối số cũng như kiểu Event cũng khác nhau, với cách làm này ta sẽ dễ dàng có được đoạn code mà mình mong muốn để sử dụng trong việc xử lý Controls trong bằng Code.
Xử lý Control trong Csharp | MicrosoftTech.Net

MicrosoftTech.Net

Advertisements

Posted on November 3, 2012, in Csharp, Win Form and tagged , , . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: