特定のフォルダー内にimg.jpgファイルを表示するフォームに PictureBox があります。毎秒、フォルダー内のimg.jpgファイルを見て、フォーム上の画像を更新しています。このフォルダに同じ名前の新しいファイルを配置しようとすると、Windows でファイルが使用中であるというエラーが表示され、イメージをコピーして再書き込みするためにプログラムを閉じるように求められます。どうすればこのエラーを取り除くことができますか? ソフトウェアによる画像の使用を無効にすることはできますか? どうすればこの問題を解決できますか?
3 に答える
2
メソッドImage.FromFile("path_to_image")を使用している場合、この動作 (ディスク上のファイルをロックする) は仕様です。
ロックせずに画像をロードする別の方法については、Microsoft サポートのこの記事を参照してください。
代わりに、StackOverflow のこちらを参照してください。
于 2012-05-04T12:29:12.097 に答える
1
ファイルをフォームのローカル変数に保存し、それを画像ボックスに設定します。次に、画像ファイルを毎秒更新する代わりに、ファイルの日付が変更されたかどうかなどを定期的に確認します。そして、実際に変更されたときにのみ画像を更新してください。
于 2012-05-04T12:29:36.093 に答える
0
または、実装された動作を保存したい場合は、イメージの一時コピーを作成して使用してください。元のイメージを更新する場合は、新しい一時イメージを作成します。
于 2012-05-04T12:33:07.540 に答える