0

我正在使用 Visual Studio 2012 在 C# 中创建一个基本的文本编辑软件。

我想在标签中显示打开文件的名称。

目前,我的OpenFileDialog代码包括:

OpenFileDialog ofd = new OpenFileDialog();
ofd.ShowDialog();
try
{
    richTextBoxPrintCtrl1.Text = ofd.FileName;
    StreamReader sr = new StreamReader(richTextBoxPrintCtrl1.Text);
    richTextBoxPrintCtrl1.Text = sr.ReadToEnd();
    sr.Close();

    richTextBoxPrintCtrl1.LoadFile(ofd.FileName, RichTextBoxStreamType.RichText);
}
catch { }
}

例如,我使用这个软件打开 Document.rtf。如何在标签(命名filename1)中显示“Document.rtf”或任何其他打开的文件标题?

4

2 回答 2

1

采用Path.GetFileName Method

string fileName = @"C:\mydir\myfile.ext";
string result = Path.GetFileName(fileName); 
Console.WriteLine(result); // outputs  myfile.ext

更新 1

string fileName = ofd.FileName;
richTextBoxPrintCtrl1.LoadFile(fileName, RichTextBoxStreamType.RichText);
label1.Text = Path.GetFileName(fileName); //  here's your label
于 2013-04-02T00:48:34.860 回答
0

首先,检查用户是否实际选择了OpenFileDialog. 然后设置文本:

OpenFileDialog ofd = new OpenFileDialog();
// make sure user selects a file
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK) {
    try{
        // load contents
        richTextBoxPrintCtrl1.LoadFile(ofd.FileName, RichTextBoxStreamType.RichText); 
        // update label with file name
        filename1.Text = System.IO.Path.GetFileName(ofd.FileName);
    }catch{
        // handle exception as you wish
    }
}
于 2013-04-02T00:54:18.877 回答