在winForm的代码窗口我在public Form3()里定义了如下代码。但是当运行时listView控件中不显示任何东西(定义过表头)。我在winForm窗体里的属性中设置属性View为Details,然后在Columns属性里设置了表头就可以显示出来,为什么呀?
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;namespace WindowsApplication1
{
/// <summary>
/// Form3 的摘要说明。
/// </summary>
public class Form3 : System.Windows.Forms.Form
{
private System.Windows.Forms.ListView listView1;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null; public Form3()
{
listView1=new ListView();
listView1.View=View.Details;
listView1.Left=0;
listView1.Top=0;listView1.Width=700;
listView1.Height=this.ClientRectangle.Height;
listView1.GridLines=true;
listView1.FullRowSelect=true;
listView1.Scrollable=true;listView1.MultiSelect=true;
listView1.HeaderStyle=ColumnHeaderStyle.Nonclickable;
listView1.Columns.Add("姓名",85,HorizontalAlignment.Center);
listView1.Columns.Add("学号",85,HorizontalAlignment.Center);
listView1.Visible=true;

//
// Windows 窗体设计器支持所必需的
//
InitializeComponent(); //
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}

解决方案 »

  1.   

    没有做过winform的
    不过还是帮你顶
    顺便学习
      

  2.   

    加一句
    listView1.Parent = this;
      

  3.   

    我试了你的代码,没问题,但是没有listView1.Parent = this;这一句,新控件根本不会显示出来,你看到的恐怕是另一个控件吧:)
      

  4.   

    因为你把listView1又new 了一遍,这点让我很奇怪,这个控件是怎么生成的呢?如果是在IDE里画出来的,就不用new,如果new 了,就必需listView1.Parent = this;
      

  5.   

    我试了,在原来的代码里加了“listView1.Parent = this;”果然可以。只是如果不加这句,而且也不用new运行时就出错,这是为什么呢?