📜  运行文件窗口窗体 - C# (1)

📅  最后修改于: 2023-12-03 15:28:18.690000             🧑  作者: Mango

运行文件窗口窗体 - C#

本文介绍如何在 C# 中创建一个运行文件窗口窗体,提供用户选择并运行文件的功能。我们将创建一个包含以下组件的窗体:

  • 一个文本框用于显示选定文件的路径
  • 一个“浏览”按钮用于打开文件选择对话框,让用户选择文件
  • 一个“运行”按钮用于运行选择的文件
创建窗体

首先,打开 Visual Studio,单击“新建项目”,选择“Windows 窗体应用程序”。在新项目中添加一个窗体(例如“文件运行器”),这将为您创建一个空白窗体。

简单示例代码如下:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void btnBrowse_Click(object sender, EventArgs e)
    {
        OpenFileDialog openFileDialog1 = new OpenFileDialog();

        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            txtFilePath.Text = openFileDialog1.FileName;
        }
    }

    private void btnRun_Click(object sender, EventArgs e)
    {
        if(File.Exists(txtFilePath.Text))
        {
            Process.Start(txtFilePath.Text);
        }
        else
        {
            MessageBox.Show("文件不存在");
        }
    }
}
添加组件

接下来,我们需要向窗体添加组件。通过单击“工具箱”中的各种组件并将其拖放到窗体上,您可以添加以下控件:

  • 一个文本框(命名为“txtFilePath”),用于显示选定文件的路径。
  • 一个按钮(命名为“btnBrowse”),用于打开文件选择对话框。
  • 一个按钮(命名为“btnRun”),用于运行选择的文件。
实现功能

我们需要为“btnBrowse”和“btnRun”按钮添加点击事件的响应程序来实现所需的功能。

打开文件选择对话框
private void btnBrowse_Click(object sender, EventArgs e)
{
    OpenFileDialog openFileDialog1 = new OpenFileDialog();

    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
        txtFilePath.Text = openFileDialog1.FileName;
    }
}

这段代码使用 OpenFileDialog 对象打开文件选择对话框,并获取用户选择的文件路径,将其显示在 txtFilePath 文本框中。

运行选择的文件
private void btnRun_Click(object sender, EventArgs e)
{
    if(File.Exists(txtFilePath.Text))
    {
        Process.Start(txtFilePath.Text);
    }
    else
    {
        MessageBox.Show("文件不存在");
    }
}

这段代码检查 txtFilePath 中输入的文件路径是否存在。如果文件存在,则使用 Process.Start 启动该文件。否则,将显示一个消息框指示文件不存在。

完成

现在,我们已经完成了创建运行文件窗口窗体的过程。您可以在 Visual Studio 中构建并调试该应用程序,以查看它是否按预期工作。

完整代码参考:

namespace FileRunner
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnBrowse_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                txtFilePath.Text = openFileDialog1.FileName;
            }
        }

        private void btnRun_Click(object sender, EventArgs e)
        {
            if(File.Exists(txtFilePath.Text))
            {
                Process.Start(txtFilePath.Text);
            }
            else
            {
                MessageBox.Show("文件不存在");
            }
        }
    }
}