【问题标题】:Display Filename in button text在按钮文本中显示文件名
【发布时间】:2017-09-07 16:48:13
【问题描述】:

如何获取按钮文本中的字符串?

private void btn_open_Click(object sender, EventArgs e)
{
    openFileDialog1.ShowDialog();
    ReadCSV(openFileDialog1.FileName);
    btn_open.Text = "filename here";

    string targetdirectory = "D:\\Projects";
    string filename = Path.GetFileNameWithoutExtension(target directory);
}

感谢您的帮助

【问题讨论】:

  • stackoverflow.com/help/how-to-ask - 请改进您的问题。不清楚你在这里问什么
  • 对不起,我是新手。我按下一个打开按钮,我可以选择一个 csv 文件并将其显示在我的 dataGridview 中。打开文件后,我想将打开按钮更改为文件名。
  • 好的。那么你可以将btn_open.Text 分配给你的filename 字符串吗?
  • 它会显示文件的路径。
  • 如果正确使用GetFileNameWIthoutExtension,那么您应该会看到类似于此处的结果:msdn.microsoft.com/en-us/library/…。不知道为什么你的不工作,虽然我看不到你分配文件名的任何地方?您可以编辑您的帖子以包含您的所有代码吗?

标签: c# file button text


【解决方案1】:

当您使用OpenFileDialog 选择文件时,OpenFileDialog.FileName 包含所选文件的完整路径。

Path.GetFileNameWithoutExtension() 就是这样做的,获取不带扩展名的文件名。但是,您需要传递实际的文件路径,而不是目录。如果您传递目录路径,它只会检索最里面的目录名称,这不是您想要的结果。

所以你应该做的是;

  • OpenFileDialog获取文件名。
  • 那个传递给Path.GetFileNameWithoutExtension()方法。
  • 将生成的字符串设置为按钮文本。

另外ShowDialog()的正确用法是检查返回值;如果用户点击了OK按钮,则返回true,否则返回false

if(openFileDialog1.ShowDialog() == true)
{
    string file = Path.GetFileNameWithoutExtension(openFileDialog1.FileName);
    btn_open.Text = file;
}

【讨论】:

  • 非常感谢!它在没有: if(openFileDialog1.ShowDialog() == true) ==cant used with Dialog Result. 的情况下工作
  • 好的,我使用 WPF 编写了我的示例,这是我打开的,看起来你在 WinForms 上。所以你可以做if(openFileDialog1.ShowDialog() == DialogResult.OK),这将达到相同的结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-22
  • 1970-01-01
  • 1970-01-01
  • 2020-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多