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