2015-05-22 7 views
-1

У меня есть один флажок, который содержит некоторые имена exe/application. Когда я собираюсь выбрать любой из них, он должен начать. Теперь приложение запускается, но если я выбрал exe/application name из флажка, который не существует в пути (который я написал ниже), то есть, как поставить валидацию на это. Мой код:Как сравнить элементы списка с элементами массива

if (chkListBox.CheckedItems.Count > 0) 
{ 
    for (int i = 0; i < chkListBox.CheckedItems.Count; i++) 
    { 
     string path = @"D:\Development\Latest\ConsoleApplication1\ConsoleApplication1\bin\Debug"; 
     string files = Directory.GetDirectoryRoot(path); 
     var process = new Process 
     { 
      StartInfo = new ProcessStartInfo 
      { 
       FileName = Path.Combine(path, chkListBox.Items[i].ToString() + ".exe") 
      } 
     }; 

     process.StartInfo.UseShellExecute = false;// Beacuse I am using Process class 
     process.StartInfo.CreateNoWindow = true; 
     process.Start(); 
    } 
} 
else 
{ 
    MessageBox.Show("Item Not selected"); 
} 

ответ

1
string path = @"D:\Development\Latest\ConsoleApplication1\ConsoleApplication1\bin\Debug"; 
string files = Directory.GetDirectoryRoot(path); 

var exeNotFoundList = new List<string>(); 

for (int i = 0; i < chkListBox.CheckedItems.Count; i++) 
{ 
    var exeFilePathWithName = Path.Combine(path, chkListBox.Items[i].ToString() + ".exe"); 
    if(!File.Exists(exeFilePathWithName)) 
    { 
     exeNotFoundList.Add(exeFilePathWithName); 
     continue; 
    } 
    var process = new Process 
     { 
      StartInfo = new ProcessStartInfo 
       { 
        FileName = exeFilePathWithName 
       } 
     }; 

    process.StartInfo.UseShellExecute = false;// Beacuse I am using Process class 
    process.StartInfo.CreateNoWindow = true; 
    process.Start(); 

} 

if(exeNotFoundList.Count > 0) 
{ 
    var errorMessage = String.Join(String.Empty, exeNotFoundList.ToArray()); 
    MessageBox.Show(errorMessage); 
} 
+0

Благодаря Его Рабочая ..................... –

+1

@SatyavanChoure я не построил этот код ... просто написал в редакторе SO. Я редактировал код. Пожалуйста, примите ответ, если он работает для вас. –

Смежные вопросы