解決“System.Threading.ThreadStateException:“在可以調用 OLE 之前,必須將當前線程設置為單線程單元(STA)模式。請確保您的 Main 函數帶有 STAThreadAttribute 標記。 只有將調試程序附加到該進程才會引發此異常”的異常


解決方法:

添加如下:

 

代碼:

Thread t = new Thread((ThreadStart)(() => {
                    SaveFileDialog saveqrimg = new SaveFileDialog();



                    saveqrimg.Title = "二維碼圖片保存";
                    saveqrimg.Filter = @"jpeg|*.jpg|bmp|*.bmp|gif|*.gif";
                    if (saveqrimg.ShowDialog() == DialogResult.OK)
                    {
                        this.pictureBox1.Image.Save(saveqrimg.FileName, System.Drawing.Imaging.ImageFormat.Jpeg);
                        MessageBox.Show("保存成功!");
                    }
                    //else if(saveqrimg.ShowDialog() == DialogResult.Cancel)
                    //{
                    //    MessageBox.Show("已取消保存!");
                    //}
                    else
                    {
                        MessageBox.Show("保存失敗!");
                    }
           } )); t.SetApartmentState(ApartmentState.STA); t.Start(); t.Join(); 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM