qq_42001465 2024-02-12 16:53 采纳率: 33.3%
浏览 18
已结题

我用c#开发的桌面应用项目无法用OpenFileDialog ofd打开文件选择窗口

我用c#开发的桌面应用项目无法用OpenFileDialog ofd打开文件选择窗口

   OpenFileDialog ofd = new OpenFileDialog();
   ofd.InitialDirectory = Application.StartupPath;
   ofd.Title = "请选择要打开的PDF文件";
   ofd.Multiselect = false;
   ofd.Filter = "PDF文件| *.pdf|所有文件 |*.* ";
   ofd.FilterIndex = 1; // 设置为1以默认显示PDF文件过滤器  
   ofd.RestoreDirectory = true;

   if (ofd.ShowDialog() == DialogResult.OK)
   {
       string selectedFile = ofd.FileName;
       // 在这里处理选定的PDF文件  
   }

代码如图
这段代码我将其放在form2窗口的按钮控件 的点击事件内(form1为启动页,显示完成后关闭并打开form2)
项目运行跳转至form2后点击按钮并未能打开文件选择窗口,请问要如何修改才能使其在form2中正常打开
然后要将选择的PDF文件在一个窗口中打开(要能编辑)

我将form2设置为默认打开窗口(不通过form1跳转form2,直接打开form2)
便可正常运行上述代码打开文件选择窗口

namespace WinFormsApp2
{
    public partial class Form1 : Form
    {
        private System.Windows.Forms.Timer timer;
        #region
        public Form1()
        {
            InitializeComponent();
            // 初始化定时器  
            timer = new System.Windows.Forms.Timer();
            timer.Interval = 6000; // 设置定时器间隔为 6000 毫秒(6 秒)  
            timer.Tick += new EventHandler(TimerTickHandler); // 绑定 Tick 事件处理器  

            // 启动定时器  
            timer.Start();
        }

        // 当定时器时间到达时触发的事件处理器  
        private void TimerTickHandler(object sender, EventArgs e)
        {
            // 停止定时器  
            timer.Stop();

            // 释放定时器资源  
            timer.Dispose();




            // 显示下一个窗口并关闭当前窗口
            Thread t1 = new Thread(delegate () { new Form2().ShowDialog(); });
            t1.Start();
            //Close();
            //关闭也可以使用
            Dispose();



        }
        #endregion

    }
}

上述为form1的代码

  • 写回答

12条回答 默认 最新

  • threenewbee 2024-02-12 22:43
    关注

    代码没有看出明显问题,可以远程帮你调试下
    你安装个 todesk,然后在我下面评论

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(11条)

报告相同问题?

问题事件

  • 系统已结题 2月22日
  • 已采纳回答 2月14日
  • 修改了问题 2月12日
  • 创建了问题 2月12日

悬赏问题

  • ¥15 为啥画版图在Run DRC会出现Connect Error?可我Calibre的hostname和计算机的hostname已经设置成一样的了。
  • ¥20 网站后台使用极速模式非常的卡
  • ¥20 Keil uVision5创建project没反应
  • ¥15 mmseqs内存报错
  • ¥15 vika文档如何与obsidian同步
  • ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
  • ¥15 陆空双模式无人机飞控设置
  • ¥15 sentaurus lithography
  • ¥100 求抖音ck号 或者提ck教程
  • ¥15 关于#linux#的问题:子进程1等待子进程A、B退出后退出(语言-c语言)