私は画像をエクスプローラから勝利フォームに移動しています。それはうまく動作します。私は画像を移動した後、私はフォルダ内でそれを削除したいが、それは動作しません。ファイルがwinformで使用されているというエラーが表示されます。ドラッグドロップ後にファイルを削除することはできません
私は試してみました:
File.Delete(files[0])
files = null
img = null
img.Dispose()
しかし、私はまだファイルを削除または移動することはできません。
private void frmADManager_DragDrop(object sender, DragEventArgs e)
{
try
{
int x = PointToClient(new Point(e.X, e.Y)).X;
int y = PointToClient(new Point(e.X, e.Y)).Y;
if (x >= pbUser.Location.X && x <= pbUser.Location.X + pbUser.Width && y >= pbUser.Location.Y && y <= pbUser.Location.Y + pbUser.Height)
{
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
Image img = Image.FromFile(files[0]);
if (img.Width == 648)
{
pbUser.Image = img;
SavePicture = true;
tsbtnSave.Enabled = true;
toolStrip1.Focus();
File.Delete(files[0]);
files = null;
img = null;
img.Dispose();
}
else
イメージを 'pbUser'に保存する必要がある場合は、ソースのコピーを使用する必要があります。 I.E .: 'pbUser.Image =新しいビットマップ(img);'。 @wakaの答えにも従ってください。クローンはソースファイルを参照し、ファイルを削除できないように 'img.Clone()'を使わないでください。 – TnTinMn