2017-10-18 4 views
2

저는 Windows Forms 및 C#에서 간단한 작업 목록 응용 프로그램을 연습하고 있습니다. 두 가지 모두 새로운 기능입니다. 다음 코드를 사용하여 프로세스 ID를 listView (Visual Studio의 디자인보기에서 만들었습니다)에 표시하려고했지만 항목을 실행하면 항목이 나타나지 않습니다.ListView에 항목이 표시되지 않습니다.

[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(); 
    } 

내가 뭘 잘못하고 있니?

는 형태입니다
Application.Run(currentWindow); 

그래서 목록보기를 채우기 위해 코드 만 실행 된 후 :

+0

추적 했습니까? 이 영역에 프로세스 목록 부분이있는 이유는 무엇입니까? – BugFinder

+0

@BugFinder 내가 말했듯이, 나는 정말 정말 귀엽다. 그래서 나는 흔적이 무엇인지 알지 못한다. 그리고 나는 이것이 그 대신에 .cs 파일에 있어야만하는 가장 좋은 장소라고 생각했다. –

+0

ListView View 속성을 "Details"로 설정하십시오. – LocEngineer

답변

2

문제는 기본 폼 (즉, 앱이 종료됩니다) 닫힐 때까지이 라인은 반환하지 않는다는 것입니다 해산되고 닫혔다. 대신 해당 코드를 양식 (예 : 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)); 
    } 
} 
관련 문제