首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FileName在OpenFileDialog中显示为空

FileName在OpenFileDialog中显示为空
EN

Stack Overflow用户
提问于 2018-02-26 11:33:53
回答 2查看 832关注 0票数 0

我有两个单选按钮和一个普通按钮- button2。

我创建了一个if else语句,它检查单击了哪个单选按钮,并相应地预先形成了一个给定的任务。特别是,如果:

  • 单击单选按钮1:请选择一个pdf文件,打开axAcroPDF1连接并将OpenFileDialog FileName输出到文本框中
  • 单选按钮2被点击:其他东西
  • 没有单选按钮被点击:发送一个..。选择一个文件。

这是我的尝试:

代码语言:javascript
复制
    {

        if (radioButton1.Checked == true)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "PDF|*pdf";

            if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                axAcroPDF1.Show();
                axAcroPDF1.src = ofd.FileName;
            }

            textBox1.Text = ofd.FileName;

            MessageBox.Show(ofd.FileName);
        }


        else if (radioButton2.Checked == true)
        {
            OpenFileDialog ofd3 = new OpenFileDialog();
            ofd3.Filter = "PDF|*pdf";
            textBox1.Text = ofd3.InitialDirectory + ofd3.FileName;

            if (ofd3.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                axAcroPDF1.Show();
            }
        }

        else if (radioButton2.Checked == false & radioButton1.Checked == false)
        {
            MessageBox.Show("Please select a processing option");
        }

        else
        {
            MessageBox.Show("Error.");
        }

    }

问题是我无法在: FileName中提取textBox1.Text = ofd.FileName;字符串

基本上,这将返回一个空字符串。我不知道这是怎么可能的,实际上axAcroPDF1.src成功地打开了选定的pdf。

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-26 11:54:32

填充ofd.ShowDialog()属性的是ofd.FileName方法。

遵循代码的逻辑:

对于复选框1,在访问ofd.ShowDialog()之前检查axAcroPDF1的适当返回是正确的,但是没有检查用户在复选框中显示名称之前选择了一个文件。

对于复选框2场景,您正在尝试通过运行ofd3.FileName方法来访问设置它之前的ofd3.ShowDialog()

这里的关键点是,ofd3.ShowDialog()是您的代码中为用户弹出对话框的点。

您将希望将所有对ofd.FileNameofd3.FileName的调用移到对话框的各自if检查中。

票数 1
EN

Stack Overflow用户

发布于 2018-02-26 11:54:39

代码语言:javascript
复制
//Try this one    
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                axAcroPDF1.src = ofd.FileName;
                axAcroPDF1.Show();
                textBox1.Text = ofd.FileName;
            }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48987570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档