初心者は、シングルスレッドアパートメント(STA)モードに、現在のスレッドを解決するために与えられなければなりません

 
  プライベート 静的な 文字列 [] picAdd = 新しい 文字列 [ 10 ]。

 



プライベート 無効 button21_Click_1(オブジェクト送信者、EventArgsの電子) { スレッドInvokeThread = 新しいスレッド(新しいThreadStart(は、invokeMethod)); InvokeThread.SetApartmentState(ApartmentState.STA)。 InvokeThread.Start(); InvokeThread.Join(); } プライベート ボイドは、invokeMethod() { // 定义控件数组 ピクチャ[] mypic = {pictureBox1、pictureBox2、pictureBox3、pictureBox4、pictureBox5、pictureBox6、pictureBox7、pictureBox8、pictureBox9、pictureBox10}。 もし(pictureBox10.Image == NULL { ための(N = 0 ; N- < 10 ; N - ++ { FormMain.ShowPic(mypic [N-]); picAdd [N-] = FormMain.picAddress; //は、ファイルの物理的なパスを渡します } } 他の { MessageBox.Show(すでに絵を持って、データを追加しないでください!); } } 公共の 静的な 無効ShowPic(ピクチャpicBox) { OpenFileDialog OFD = 新しいOpenFileDialog(); ofd.Filter = " イメージファイル(* BMP、JPG *; * GIF。。。)| * .BMP、*。JPG、GIF * |すべてのファイル(*。*)| *。* " ; ofd.RestoreDirectory = ; もし(ofd.ShowDialog()== DialogResult.OK) { picAddress = ofd.FileName。 画像IMGE = Image.FromFile(picAddress)。 ビットマップBM = 新しいビットマップ(IMGE、picBox.Width、picBox.Height)。 picBox.Image = BM; } }

 

おすすめ

転載: www.cnblogs.com/any-kiss/p/11610698.html
おすすめ