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:我真的是一个中学生。。。图片说明图片说明

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