获取用户输入并将其用作流程

Take user input and use it as Process

所以基本上,我有一个 OpenFileDialog,用户将在其中 select 一个位置。 我这样做是为了在文本框中显示目录。 但我想要的是有另一个按钮,它将获取该目录并使用 ProcessStartInfo.

启动它

OpenFileDialog,在 TextBox 中显示:

    public void button4_Click(object sender, EventArgs e)
    {
        OpenFileDialog ofd = new OpenFileDialog();
        ofd.Title = "Open Arma 3";
        ofd.Filter = "EXE file|*.exe";

        if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
        {
            textBox1.Text = ofd.FileName;
        }
    }

进程:

    private void button3_Click(object sender, EventArgs e)
    {
        ProcessStartInfo startInfo = new ProcessStartInfo();
        startInfo.FileName = //RESULT OPENFILEDIALOG SHOULD BE HERE 
        startInfo.Arguments = @"-window -useBE -mod=e:\Aaron\Addons\@CBA_A3";
        Process.Start(startInfo);
    }

由于您已经将 OpenFileDialog 的结果保存在 textBox1 中,因此您可以在 button3_Click 事件处理程序中轻松访问它。

填写startInfo.FileName:

*我添加了额外的 IsNullOrWhiteSpace 检查,因此如果 textBox1.Text 为空,应用程序不会启动另一个进程。

if(!string.IsNullOrWhiteSpace(textBox1.Text)
{
      ProcessStartInfo startInfo = new ProcessStartInfo();
      startInfo.FileName = textBox1.Text
      startInfo.Arguments = @"-window -useBE -mod=e:\Aaron\Addons\@CBA_A3";
      Process.Start(startInfo);
}