編輯:我正在嘗試閱讀WPF C#應用程序中雜項(本例中爲7)文本文件的內容。因此,我使用以下已編輯的代碼:在WPF C#應用程序中閱讀各種文本文件的內容
try
{
List<string> Verknüpfung = new List<string>();
foreach (string Datei in Directory.GetFiles(V.PfadShortcuts, "*.txt"))
{
Verknüpfung.AddRange(File.ReadAllLines(Datei, Encoding.UTF8));
}
for (int i = 0; i <= Verknüpfung.Count - 1; i += 2)
{
Image Icon = new Image();
Icon.Source = new BitmapImage(new Uri(@"Images\Fugue Icons\document.png", UriKind.Relative));
Icon.Height = 16;
Icon.Width = 16;
Icon.Stretch = Stretch.None;
MenuItem MenuItem = new MenuItem();
MenuItem.Click += delegate { Process.Start(Verknüpfung[1 + i]); };
MenuItem.Header = Verknüpfung[0 + i];
MenuItem.Icon = Icon;
MenuItem.Padding = new Thickness(5);
MI_Verknüpfungen.Items.Add(MenuItem);
}
}
我有7個文本文件。每個包含以下內容:第1行:標題(如「Google」;頭部)&第2行:過程(如「https://www.google.de/」;對於CLICK EVENT)。
不過,我得到這個結果(對不起,隱藏的信息,但它包含的業務事項):
所以它似乎工作。但不幸的是,當我點擊其中的一個,我收到以下錯誤信息:
德國「明鏡指數滯後außerhalbDES Bereichs爾搞亂nicht是負面的UND克萊納ALS死Auflistung盛參數名稱:首頁」
英語:「索引超出範圍必須爲非負數且小於集合的大小參數名:索引」
它的工作原理,當我改變了以下內容:
之前:MenuItem.Click += delegate { Process.Start(Verknüpfung[1 + i]); };
後:MenuItem.Click += new RoutedEventHandler(MenuItem_Click);
public void MenuItem_Click(object sender, RoutedEventArgs e)
{
for (int i = 0; i <= Verknüpfung.Count - 1; i += 2)
{
Process.Start(Verknüpfung[1 + i]);
}
}
但是現在,當我點擊菜單項,應用程序運行的所有進程(即所有7「快捷鍵」保存在我的收藏) - 但是,該錯誤信息消失。 如何管理只運行點擊的流程?
非常感謝您的幫助。首先讓我評論一下:我說「0 + i」是因爲我希望應用程序在下一輪創建菜單項時轉到下一個項目。所以,我說i + = 2在下一輪循環中轉到下一個項目。收集聲明編輯。另外我可以說,這個系列中有14個項目 - 我使用Verknüpfung.Count來統計它們。 – gpuk360