2012-03-21 1 views
0

Csv 파일을로드 할 수있는 방법은 C#에서 메뉴 스트립을 채울 수 있습니까? 나는 첫 번째 메뉴에서 다음 첫 번째 메뉴에서 다음과 같은 모든 것을 좋아할 것입니다 5 열과 csv 파일을 가지고 하위 메뉴에 있어야합니다. 가능합니다.메뉴 스트립 C#에서 CSV 파일

+1

무엇을 사용하고 계십니까? Winforms? Wpf? 두 가지 작업으로 분할하면 코드에서 메뉴 항목을 만들고 CSV를 구문 분석합니다. 그것들을 합치면 프로그램이 있습니다. –

답변

2
var lines = File.ReadAllLines("file.csv"); 

var menuStrip = new MenuStrip(); 

// This: 
// 
// foreach (var line in lines) 
// { 
//  if (line.Trim() == string.Empty) { continue; } 
//  var lineSplit = line.Split(','); 
// 

// Is the same as: 
// 
foreach (var lineSplit in lines.Where(l => l.Trim() != string.Empty).Select(line => line.Split(','))) 
{ 
// 
    var subMenu = new ToolStripMenuItem(lineSplit[0]); 
    menuStrip.Items.Add(subMenu); 

    for (var i = 1; i < lineSplit.Length; i++) 
    { 
     subMenu.DropDownItems.Add(lineSplit[i]); 
    } 
} 

this.Controls.Add(menuStrip); 
+0

감사합니다. "시스템 배열에서 찾을 수없는 부분이 있습니다."라는 오류 메시지가 나타납니다. –

+0

'System.Linq;을 사용하여 추가해야합니다.' 그에 대한. 그 것을 확장 메서드라고합니다. Google은 그것도 google system.linq 확장 방법 - 모두 매우 시원하고 유용합니다. – SimpleVar

+0

@KevinBabb Where 메서드 사용을 피하는 방법을 알 수 있도록 대답을 편집했습니다. 어느 쪽이든 똑같은 기능을 가지고 있습니다. – SimpleVar