ListView控件演⽰02:如何⾃动调整列宽度
需要⽤到的2个⽅法:
ListView.AutoResizeColumns()
按照⼤⼩调整样式的指⽰,调整列的宽度。
ListView.AutoResizeColumn()
按照⼤⼩调整样式的指⽰,调整给定列的宽度。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using
System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Demo02 { public partial class MainForm : Form { private ListView listView = new ListView(); private Button ResizeButton = new Button(); public MainForm() { InitializeComponent(); } private void MainForm_Load(object sender, EventArgs e) {
this.InitializeResizingListView(); } private void InitializeResizingListView() { // Set location and text for button. ResizeButton.Location = new Point(100, 15); ResizeButton.Text = "Resize"; ResizeButton.Click += new
listview控件在哪里EventHandler(ResizeButton_Click); // Set the ListView to details view. listView.View = View.Details; //Set size, location and populate the ListView. listView.Size = new Size(this.Width - 80, 200); listView.Location = new Point(40, 40);
listView.Columns.Add("HeaderSize"); listView.Columns.Add("ColumnContent"); ListViewItem listItem1 = new
ListViewItem("Short"); ListViewItem listItem2 = new ListViewItem("Tiny"); listItem1.SubItems.Add(new
ListViewItem.ListViewSubItem( listItem1, "Something longer")); listItem2.SubItems.Add(new ListViewItem.ListViewSubItem( listItem2, "Something even longer!Something even longer!")); listView.Items.Add(listItem1); listView.Items.Add(listItem2); // Add the ListView and the Button to the form. this.Controls.Add(listView); this.Controls.Add(ResizeButton); } private void ResizeButton_Click(object sender, EventArgs e) { // ⾃动调整所有列的⼤⼩。
//listView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
//listView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
//listView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.None); // 调整指定列的⼤⼩。
this.listView.AutoResizeColumn(0, ColumnHeaderAutoResizeStyle.HeaderSize); this.listView.AutoResizeColumn(1, ColumnHeaderAutoResizeStyle.ColumnContent); } } }