如何在按钮单击时查看记事本中的文本文件?

时间:2013-06-08 16:13:34

标签: c# winforms

代码:

private void viewLogFileToolStripMenuItem_Click(object sender, EventArgs e)
{
     string path_log = Path.GetDirectoryName(Application.LocalUserAppDataPath) + @"\log";
     string logger_file = @"\logger.txt";
     string LoggerFileName = Path.Combine(path_log, logger_file);    
}

我希望当我点击菜单项时,它会在记事本中自动打开LoggerFileName并显示记事本窗口。

4 个答案:

答案 0 :(得分:2)

如果将txt文件默认打开的应用程序设置为记事本,则可以按如下方式打开它

System.Diagnostics.Process.Start(LoggerFileName);
下面的

将打开带有给定文件的记事本

System.Diagnostics.Process.Start("notepad.exe", LoggerFileName);

注意:

string LoggerFileName = Path.Combine(
                      Path.GetDirectoryName(Application.LocalUserAppDataPath), 
                     "log", 
                     "logger.txt");

答案 1 :(得分:1)

你有没有研究过这个?

private void viewLogFileToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string path_log = Path.GetDirectoryName(Application.LocalUserAppDataPath) + @"\log\";
            string logger_file = @"\logger.txt";
            string LoggerFileName = Path.Combine(path_log, logger_file);
            Process.Start(Path.Combine(Environment.SystemDirectory, @"\notepad.exe"), LoggerFileName);
        }

谷歌所需要的只是“获取记事本路径c#”和“启动流程c#”。

答案 2 :(得分:1)

.Net框架中有Process类。

ProcessStartInfo.UseShellExecute设置为true时使用它。然后你可以“启动”.txt文件,用户可以选择它最喜欢的编辑器。但是,默认情况下是NotePad。

答案 3 :(得分:1)

怎么样?
   private void viewLogFileToolStripMenuItem_Click(object sender, EventArgs e)
   {
        string path_log = Path.GetDirectoryName(Application.LocalUserAppDataPath) + @"\log";
        string logger_file = @"\logger.txt";
        string LoggerFileName = Path.Combine(path_log, logger_file);
        string notepadPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System),"notepad.exe")
        Process.Start(notepadPath,LoggerFileName);
    }