启动列表框中所有项目的流程

时间:2011-12-02 21:19:48

标签: c#

如何在checkedlistbox中的所有选中项目上运行命令行应用程序?

我使用以下代码将文件添加到列表框中:

  private void button2_Click(object sender, EventArgs e)
  {
      var filters = "*.avi|*.mkv";
      odd.ShowNewFolderButton = false;
      if (odd.ShowDialog() == DialogResult.OK)
      {
          string folderName = odd.SelectedPath;
          string[] files = Directory.GetFiles(folderName, "*.*", SearchOption.AllDirectories);

          foreach (string file in files) checkedListBox1.Items.Add(file, CheckState.Checked);
      }
  }

现在我想用参数处理(转换)所有(已检查)项目的x264.exe添加到列表框

2 个答案:

答案 0 :(得分:1)

我不确定是否已完全理解您的问题,但如果您想为checkedlistbox中的每个已检查元素运行命令,则可以在每个已检查项目的每个循环中使用a:

foreach(object itemChecked in checkedListBox1.CheckedItems) {
Process.Start("someapp.exe");
}

答案 1 :(得分:1)

免责声明 - 我不确定我是否完全遵循您要完成的任务,但是:

如果要将列表框中所有项目合并到一个语句中,您可以执行以下操作:

string commands = checkedListBox1.CheckedItems.Cast<string>().Aggregate((i,j) =>i + " " + j);

含义,如果您的选中列表框项目是:

/t
/run
/something

你得到/t /run /something