C#项目不';不显示在列表视图中

C#项目不';不显示在列表视图中,c#,winforms,C#,Winforms,我正在编写一个简单的任务列表应用程序,作为在Windows窗体和C#中的练习,这两者我都是新手。我正在使用以下代码尝试在listView(我在VisualStudio的设计视图中创建)中显示进程ID,但是当我运行它时,项目不会显示 [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefau

我正在编写一个简单的任务列表应用程序,作为在Windows窗体和C#中的练习,这两者我都是新手。我正在使用以下代码尝试在listView(我在VisualStudio的设计视图中创建)中显示进程ID,但是当我运行它时,项目不会显示

[STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        var currentWindow = new taskMngrWndw();
        Application.Run(currentWindow);
        Process[] processList = Process.GetProcesses();
        foreach (Process proc in processList)
        {
            string processID = Convert.ToString(proc.Id);
            currentWindow.taskView.Items.Add(new ListViewItem(processID));
        }
        currentWindow.taskView.Refresh();
    }

我做错了什么?

问题是,在主窗体关闭(即您的应用程序退出)之前,此行不会返回:

因此,填充列表视图的代码仅在表单被取消并关闭后运行。相反,将该代码移动到表单中,例如在表单
Load
事件中:

private void taskMngrWndw_Load(object sender, EventArgs e)
{
    FillProcesses();
}

private void FillProcesses()
{
    Process[] processList = Process.GetProcesses();
    foreach (Process proc in processList)
    {
        string processID = Convert.ToString(proc.Id);
        taskView.Items.Add(new ListViewItem(processID));
    }
}

你找到了吗?为什么进程列表部分在这个区域?@BugFinder就像我说的,我真的,真的是个新手,所以我不确定跟踪是什么意思,我认为这是最好的地方-它应该放在表单的.cs文件中吗?将ListView属性设置为“Details”,你不应该在
Main()中添加代码
方法在Windows窗体应用程序中(除非您确切知道自己在做什么)。如果希望代码初始化
表单
中的
列表视图
项,则将该代码添加到表单本身(即,与表单构造函数或表单的
加载
事件类似)。@LocEngineer已完成
private void taskMngrWndw_Load(object sender, EventArgs e)
{
    FillProcesses();
}

private void FillProcesses()
{
    Process[] processList = Process.GetProcesses();
    foreach (Process proc in processList)
    {
        string processID = Convert.ToString(proc.Id);
        taskView.Items.Add(new ListViewItem(processID));
    }
}