什么是最简单的方法来运行.pdf显示在组合框

本文关键字:显示 pdf 组合 运行 最简单 方法 什么 | 更新日期: 2023-09-27 18:18:18

我已经将文件加载到组合框…

private void Form1_Load(object sender, EventArgs e)
        {
            Directory.CreateDirectory(@"X:'BookStoreProject'WindowsFormsApplication2'Resources'PDF_Books");
            DirectoryInfo dir = new DirectoryInfo(@"X:'BookStoreProject'WindowsFormsApplication2'Resources'PDF_Books");
            FileInfo[] files = dir.GetFiles("*.pdf");
            foreach (FileInfo file in files)
            { 
                cboPDF.Items.Add(file);
            }

我现在要从组合框中选择pdf并加载pdf。但出于某种原因,我做的每件事都不起作用。我可以运行一个命令(注意这是一个不同的项目)…

System.Diagnostics.Process.Start(@"C:'Users'Shane'Documents'Visual Studio 2010'Projects'Beginning Hibernate, 2006.pdf");

这是给出一个直接的字符串路径,但我的问题可能是试图重新创建这样的路径是错误的方向?

什么是最简单的方法来运行.pdf显示在组合框

Process.Start("Path_OF_Pdf.Exe", System.IO.Path.Combine("@X:'BookStoreProject'WindowsFormsApplication2'Resources'PDF_Books",cboPDF.SelectedItem.ToString()));

您需要指定PDF文件的安装路径作为您的第一个参数,PDF文件的名称作为第二个参数。

EDIT from Shane's Comments

string w = System.IO.Path.Combine(@"X:'BookStoreProject'WindowsFormsApplication2'Resources'‌​PDF_Books'", cboPDF.SelectedItem.ToString());
 System.Diagnostics.Process.Start(w);

如果我理解正确,你有问题从组合框获得完整的路径?

如果这确实是您的问题,那么最简单的方法是创建一个新类,其中包含文件的完整路径和您想要显示的文件的"友好"名称。在本例中,我们将它们命名为。path和。name。为每个文件实例化其中一个类,并按照您希望的方式填充. path和. name属性,然后将此实例添加到组合框中。设置ComboBox的。displaymember属性为"Name", . valuemember属性为"Path"。这将导致组合框在。name属性中显示友好的名称,但在调用ComboBox.SelectedValue时返回您在。path属性中输入的内容。只需使用组合框。SelectedValue获取项目的路径。

如果这不是你实际遇到的问题,请尽量澄清你的问题,以便我们更好地帮助你。