Tạo Form có hình dạng tùy biến

Tạo Form có hình dạng tùy biến

Bài viết này sẽ hướng dẫn bạn làm thế nào để tạo ra một form hoặc điều kiểm không phải hình chữ nhật. Để tạo một form hoặc điều kiểm không phải hình chữ nhật, trước hết bạn cần định nghĩa hình dạng mình muốn. Cách tiếp cận dễ nhất là sử dụng đối tượng...

Để tạo một form hoặc điều kiểm không phải hình chữ nhật, trước hết bạn cần định nghĩa hình dạng mình muốn. Cách tiếp cận dễ nhất là sử dụng đối tượng System.Drawing.Drawing2D.GraphicsPath, nó có thể điều tiết bất kỳ sự kết hợp nào của các hình ellipse, chữ nhật, và cung khép kín.

Bạn có thể thêm các shape vào một đối tượng GraphicsPath bằng các phương thức như AddEllipse, AddRectangle, và AddClosedCurve. Một khi đã hoàn tất việc định nghĩa hình dạng như mong muốn, bạn có thể tạo một đối tượng Region từ GraphicsPath này—chỉ cần trình ra GraphicsPath trong phương thức khởi dựng của lớp Region. Cuối cùng, bạn có thể gán Region vào thuộc tính Form.Region hoặc Control.Region.

Ví dụ dưới đây trình bày cách tạo một form có hình dáng bất thường bằng hai cung tròn (hai cung này được chuyển thành một figure khép kín bằng phương thức GraphicsPath.CloseAllFigures).

Tạo Form có hình dạng tùy biến

 

	using System;

	using System.Windows.Forms;

	using System.Drawing;

	using System.Drawing.Drawing2D;

	public class IrregularForm : System.Windows.Forms.Form

	{

	    private System.Windows.Forms.Button cmdClose;

	    private System.Windows.Forms.Label label1;

	    // (Bỏ qua phần mã designer.)

	    private void IrregularForm_Load(object sender, System.EventArgs e)

	    {

	        GraphicsPath path = new GraphicsPath();

	        Point[] pointsA = new Point[] {new Point(0, 0),new Point(40, 60), new Point(this.Width - 100, 10)};

	        path.AddCurve(pointsA);

	        Point[] pointsB = new Point[]{new Point(this.Width - 40, this.Height - 60),new Point(this.Width, this.Height),new Point(10, this.Height)};

	        path.AddCurve(pointsB);

	        path.CloseAllFigures();

	        this.Region = new Region(path);

	    }

	    private void cmdClose_Click(object sender, System.EventArgs e)

	    {

	        this.Close();

	    }

	}

	 

 

Bạn thấy bài viết này như thế nào?: 
Average: 9 (1 vote)
Ảnh của Binh Tran Thanh

Drupal Consultant

Started my career as a drupal8 developer in EM Solutions . I love learning Web technologies like HTML, CSS, PHP, Jquery Ajax and Drupal backend . Currently working as a drupal backend developer.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
[Phần 6] - Testing: Unit và Functional với PHPUnit

[Phần 6] - Testing: Unit và Functional với PHPUnit

So far we have explored a good amount of ground looking at a number of core concepts with regards to Symfony2 development. Before we continue adding features it is time to introduce testing.

Diễn viên Thúy Ngân đi chợ mua cá nấu canh chua mùa dịch bệnh Covid-19

Diễn viên Thúy Ngân đi chợ mua cá nấu canh chua mùa dịch bệnh Covid-19

Diễn viên Thúy Ngân dậy sớm đi chợ, mua cá nấu canh chua đãi gia đình khi về Tiền Giang tránh dịch.

Hãng Blackmagic Design ra mắt phiên bản Davinci Resolve 16

Hãng Blackmagic Design ra mắt phiên bản Davinci Resolve 16

Cách đây không lâu, hãng Blackmagic Design đã cho ra mắt phiên bản Davinci Resolve 16 tại NAB Show 2019 và giành chiến thắng ở giải thưởng “Best Editing Software” của Videomaker.

Công ty diệt chuột T&C

 

Diet con trung