【发布时间】:2011-09-27 05:04:54
【问题描述】:
目前我正在使用 ImageList 控件,试图从网络上复制文件并覆盖 ImageList 上的内容。但是,当我在填充列表后尝试复制图像时,我无法加载图像。我试过使用 .Dispose() 和 .Images.Clear() 但从我读到的内容中没有删除对 Image 本身的引用,因此可以替换它。
imageList1.Images.Clear();
imageList2.Images.Clear();
int i = 1500;
string fileName,sourcePath,targetPath,destFile = string.Empty;
Image img = null;
int counter = 0;
bool exists = false;
string image = string.Empty;
MiscManager MM = new MiscManager();
//filePath = MM.GetBobbinImagePath();
filePath = @"C:\Program Files\Images";
sourcePath = @"\\network Images";
targetPath = filePath;
if (!System.IO.Directory.Exists(targetPath))
{
System.IO.Directory.CreateDirectory(targetPath);
}
if (System.IO.Directory.Exists(sourcePath))
{
string[] files = System.IO.Directory.GetFiles(sourcePath);
foreach (string n in files)
{
fileName = System.IO.Path.GetFileName(n);
destFile = System.IO.Path.Combine(targetPath, fileName);
try
{
System.IO.File.Copy(n, destFile, true);
}
catch
{
MessageBox.Show("File in use",fileName);
}
}
}
do
{
if (i < 10)
{
fileName = "000" + Convert.ToString(i);
}
else if (i > 10 && i < 100)
{
fileName = "00" + Convert.ToString(i);
}
else if (i >= 100 && i < 1000)
{
fileName = "0" + Convert.ToString(i);
}
else
{
fileName = Convert.ToString(i);
}
image = filePath + fileName + ".bmp";
exists = File.Exists(image);
if (exists)
{
img = Image.FromFile(image);
imageList1.Images.Add(img);
imageList2.Images.Add(img);
imageList1.Images.SetKeyName(counter, Convert.ToString(i) + ".bmp");
imageList2.Images.SetKeyName(counter, Convert.ToString(i) + ".bmp");
counter++;
}
i++;
} while (i < 10000);
我对图像列表了解不多,因此非常感谢任何帮助。在 c# 和 VS 2010 中执行此操作
【问题讨论】:
标签: c# visual-studio