Bạn cần sử dụng DataGridViewColumn.AutoSizeModetài sản.
Bạn có thể sử dụng một trong các giá trị này cho cột 0 và 1:
AllCells: Chiều rộng cột điều chỉnh để vừa với nội dung của tất cả các ô trong cột, bao gồm cả ô tiêu đề.
AllCellsExceptHeader: Chiều rộng cột điều chỉnh để vừa với nội dung của tất cả các ô trong cột, ngoại trừ ô tiêu đề.
DisplayedCells: Chiều rộng cột điều chỉnh để phù hợp với nội dung của tất cả các ô trong cột nằm trong các hàng hiện được hiển thị trên màn hình, bao gồm cả ô tiêu đề.
DisplayedCellsExceptHeader: Chiều rộng cột điều chỉnh để vừa với nội dung của tất cả các ô trong cột nằm trong các hàng hiện được hiển thị trên màn hình, ngoại trừ ô tiêu đề.
Sau đó, bạn sử dụng giá trị Điền cho cột 2
Chiều rộng cột điều chỉnh để chiều rộng của tất cả các cột lấp đầy chính xác vùng hiển thị của điều khiển ...
this.DataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
this.DataGridView1.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
this.DataGridView1.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
Như những người dùng khác đã chỉ ra, giá trị mặc định có thể được đặt ở datagridviewmức với thuộc DataGridView.AutoSizeColumnsModetính.
this.DataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
this.DataGridView1.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
có thể là:
this.DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
Lưu ý quan trọng:
Nếu lưới của bạn được liên kết với nguồn dữ liệu và các cột được tạo tự động (thuộc AutoGenerateColumnstính được đặt thành True), bạn cần sử dụng DataBindingCompletesự kiện để áp dụng kiểu SAU KHI các cột được tạo.
Trong một số trường hợp (thay đổi giá trị ô bằng mã chẳng hạn), tôi phải gọi DataGridView1.AutoResizeColumns();để làm mới lưới.