【问题标题】:How to make the user slect a specific file? (C#)如何让用户选择特定文件? (C#)
【发布时间】:2020-12-10 15:43:28
【问题描述】:

我想制作一个按钮来打开检查文件对话框,然后检查该文件是否正确,谢谢。文件名是key.txt,我已经试过了,但是我有办法检查路径,我需要帮助。

    private void button5_Click(object sender, EventArgs e)
    {
        OpenFileDialog ofd = new OpenFileDialog();
        ofd.ShowDialog();

        if (System.IO.File.Exists("E:\\Key\\key.txt"))
        {
            MessageBox.Show("Injected");
        }
        else
        {
            MessageBox.Show("Wrong File");
        }
    }

这是我的,有什么解决办法吗?

【问题讨论】:

  • 你能不能在他们选中一个后检查文件名,如果不是key.txt,让他们重新选择
  • 我很困惑 - 你有一个程序知道文件的路径(它可能想要做一些事情)但是你不是仅仅使用它而是强迫用户选择它?这里的目的是什么?
  • @Damien_The_Unbeliever 我想用自定义文件创建一个 priv 系统来执行应用程序以使其更安全,因此人们需要文件或同名文件才能打开它
  • 如果您已经知道此文件的位置,则不需要OpenFileDialog
  • 是的,我想让用户选择特定的文件,并且该文件必须具有特定的名称。就是这样,您按下一个按钮打开文件对话框并选择文件,然后它会检查该文件是否是具有该自定义名称的正确文件并执行一个选项

标签: c# .net


【解决方案1】:

听起来您只是想将某人可以选择的可用文件过滤为与特定文件名匹配的文件,但仍允许用户在任何文件夹中找到该文件。

OpenFileDialog 上使用Filter 属性。

var ofd = new OpenFileDialog();
ofd.Filter = "key files|key.txt";
var dialogResult = ofd.ShowDialog();

if (dialogResult == DialogResult.OK && ofd.CheckFileExists)
{
    MessageBox.Show("Injected " + ofd.FileName);
}
else
{
    MessageBox.Show("Cancelled");
}

【讨论】:

    【解决方案2】:
    private void button5_Click(object sender, EventArgs e)
    {
        var ofd = new OpenFileDialog
        {
            Filter = "Key files (key.txt)|key.txt",
        };
    
        if (ofd.ShowDialog() == DialogResult.OK && File.Exists(ofd.FileName))
        {
            MessageBox.Show("Injected");
        }
        else
        {
            MessageBox.Show("Wrong File");
        }
    }
    

    但我强烈建议你将 OpenFileDialog 添加为表单控件,因此代码如下所示:

    private void button5_Click(object sender, EventArgs e)
    {
        if (openFileDialog1.ShowDialog() == DialogResult.OK && File.Exists(openFileDialog1.FileName))
        {
            MessageBox.Show("Injected");
        }
        else
        {
            MessageBox.Show("Wrong File");
        }
    }
    

    在属性窗口中配置过滤器:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-29
      • 2021-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多