歪着头看世界 2020-05-30 17:29 采纳率: 0%
浏览 409
已结题

VS C# 调用OpenFileDialog发生异常,大神帮看看!

VS C# 调用OpenFileDialog发生异常,大神帮看看!

private void button1_Click(object sender, EventArgs e)
        {
            /*
            Thread recvThread = new Thread(new ThreadStart(InPutImage));
            recvThread.SetApartmentState(ApartmentState.STA);
            recvThread.Start();
            */
            //this.Hide();

            if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                openFileDialog1.Title = "请选择图片";
                openFileDialog1.Filter = "图片|*.jpg;*.png;*.jpeg;";
                System.IO.FileInfo fileInfo = null;
                try
                {
                    fileInfo = new System.IO.FileInfo(openFileDialog1.FileName);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    // 其他处理异常的代码
                }
                MessageBox.Show("文件大小=" + System.Math.Ceiling(fileInfo.Length / 1024.0) + " KB");
                //this.Show();
            }
        }

System.Threading.ThreadStateException:“在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。 只有将调试程序附加到该进程才会引发此异常。”

坦白:吾乃中学生一,网上浪了一圈发现他们没有用线程的,我的代码和他们一样但就是报错。。。【**无情**】

Ps:我真的是一个中学生。。。图片说明图片说明

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-05-30 20:11
    关注

    在program.cs里面的void Main函数上面一行加上
    [STAThread]

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月21日

悬赏问题

  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错