繁体   English   中英

webBrowser 控件不显示 PDF

[英]webBrowser control not displaying PDF

我在 webBrowser 控件中显示 pdf 图像时遇到问题。 文件名在 web 浏览器中搜索。

参考下图: 在此处输入图像描述

代码:

FolderBrowserDialog FBD = new FolderBrowserDialog();
if (FBD.ShowDialog() == DialogResult.OK)
{
    //textBox5.Text = new DirectoryInfo(FBD.SelectedPath).Parent.Parent.Name;
                
    string[] files = Directory.GetFiles(FBD.SelectedPath, "*.pdf");
    // string[] dirs = Directory.GetDirectories(FBD.SelectedPath);
    foreach (string file in files)
    {
        listBox1.Items.Add(new FileInfo(file).Name);
    }
    
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    
    string filedirectory = listBox1.SelectedItem.ToString();
    // if (listBox1.SelectedItem != null && listBox1.SelectedItem is string)
    {
        webBrowser1.Navigate(filedirectory);
    
                            //   if (this.listBox1.SelectedIndex >= 0)

而不是这个:

string[] files = Directory.GetFiles(FBD.SelectedPath, "*.pdf");

foreach (string file in files)
{
    listBox1.Items.Add(new FileInfo(file).Name);
}

做这个:

var folder = new DirectoryInfo(FBD.SelectedPath);
var files = folder.GetFiles("*.pdf");

listBox1.DisplayMember = nameOf(FileInfo.Name);
listBox1.ValueMember = nameOf(FileInfo.FullName);
listBox1.DataSource = files;

然后,而不是这个:

string filedirectory = listBox1.SelectedItem.ToString();

做这个:

var filePath = (string)listBox1.SelectedValue;

请注意变量名的使用,它实际上描述了变量所代表的内容。 “文件目录”是胡说八道。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM