我设置了listview又2列,但当我拉伸窗体时,listview会多了一个空白的列,这怎么让它消失?
// 
            // listView
            // 
            this.listView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
            this.usernameColumnHeader,
            this.useripColumnHeader});
            this.listView.FullRowSelect = true;
            this.listView.GridLines = true;
            this.listView.Location = new System.Drawing.Point(0, 0);
            this.listView.MultiSelect = false;
            this.listView.Name = "listView";
            this.listView.Size = new System.Drawing.Size(292, 147);
            this.listView.TabIndex = 4;
            this.listView.UseCompatibleStateImageBehavior = false;
            this.listView.View = System.Windows.Forms.View.Details;
            // 
            // usernameColumnHeader
            // 
            this.usernameColumnHeader.Text = "联系人";
            this.usernameColumnHeader.Width = 100;
            // 
            // useripColumnHeader
            // 
            this.useripColumnHeader.Text = "联系人IP地址";
            this.useripColumnHeader.Width = 188;

解决方案 »

  1.   

    ListView控件演示02:如何自动调整列宽度 需要用到的2个方法:ListView.AutoResizeColumns()
    按照大小调整样式的指示,调整列的宽度。ListView.AutoResizeColumn()
    按照大小调整样式的指示,调整给定列的宽度。view plaincopy to clipboardprint?   1. using System;  
       2. using System.Collections.Generic;  
       3. using System.ComponentModel;  
       4. using System.Data;  
       5. using System.Drawing;  
       6. using System.Linq;  
       7. using System.Text;  
       8. using System.Windows.Forms;  
       9.   
      10. namespace Demo02  
      11. {  
      12.     public partial class MainForm : Form  
      13.     {  
      14.         private ListView listView = new ListView();  
      15.         private Button ResizeButton = new Button();  
      16.   
      17.         public MainForm()  
      18.         {  
      19.             InitializeComponent();  
      20.         }  
      21.   
      22.         private void MainForm_Load(object sender, EventArgs e)  
      23.         {  
      24.             this.InitializeResizingListView();  
      25.         }  
      26.   
      27.         private void InitializeResizingListView()  
      28.         {  
      29.             // Set location and text for button.  
      30.             ResizeButton.Location = new Point(100, 15);  
      31.             ResizeButton.Text = "Resize";  
      32.             ResizeButton.Click += new EventHandler(ResizeButton_Click);  
      33.   
      34.             // Set the ListView to details view.  
      35.             listView.View = View.Details;  
      36.   
      37.             //Set size, location and populate the ListView.  
      38.             listView.Size = new Size(this.Width - 80, 200);  
      39.             listView.Location = new Point(40, 40);  
      40.             listView.Columns.Add("HeaderSize");  
      41.             listView.Columns.Add("ColumnContent");  
      42.             ListViewItem listItem1 = new ListViewItem("Short");  
      43.             ListViewItem listItem2 = new ListViewItem("Tiny");  
      44.             listItem1.SubItems.Add(new ListViewItem.ListViewSubItem(  
      45.                     listItem1, "Something longer"));  
      46.             listItem2.SubItems.Add(new ListViewItem.ListViewSubItem(  
      47.                 listItem2, "Something even longer!Something even longer!"));  
      48.             listView.Items.Add(listItem1);  
      49.             listView.Items.Add(listItem2);  
      50.   
      51.             // Add the ListView and the Button to the form.  
      52.             this.Controls.Add(listView);  
      53.             this.Controls.Add(ResizeButton);  
      54.         }  
      55.   
      56.         private void ResizeButton_Click(object sender, EventArgs e)  
      57.         {  
      58.             // 自动调整所有列的大小。  
      59.             //listView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);  
      60.             //listView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);  
      61.             //listView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.None);  
      62.   
      63.             // 调整指定列的大小。  
      64.             this.listView.AutoResizeColumn(0, ColumnHeaderAutoResizeStyle.HeaderSize);  
      65.             this.listView.AutoResizeColumn(1, ColumnHeaderAutoResizeStyle.ColumnContent);  
      66.         }  
      67.     }  
      68. }