我正在实施一个应用程序:
当“我的图片”文件夹中的图像自动加载到面板时 表单已加载。 (您可以找到代码here)
我的程序中还有另一个功能:打开文件夹,启用用户 打开一个文件夹,将其图像加载到同一个面板。
我的问题是:
当我选择打开一个新文件夹时,此文件夹的图像会出现在
从“我的图片”自动加载图像的代码包含一个名为Position的变量,用于定义当前PictureBox控件的位置,它的初始值为0.
//2 variables, one for the Y position of the current PictureBox control
//and one for help count the number of images in the directory
int position = 0;
int count = 0;
打开文件夹的代码与我在加载“我的图片”中的图像时使用的代码相同,位置初始值也为0! 这就是为什么新加载的图像出现在旧图像下面的原因。
private void openFolderToolStripMenuItem_Click(object sender, EventArgs e)
{
toolStripStatusLabel1.Text = "Getting files.....";
int position = 0;
int count = 0;
我该如何解决这个问题?我想保存最新创建的PictureBox的位置,然后将其用作private void openFolderToolStripMenuItem_Click
谢谢!
答案 0 :(得分:0)
尝试这样做
int position = 0;
int count = 0;
private void openFolderToolStripMenuItem_Click(object sender, EventArgs e)
{
toolStripStatusLabel1.Text = "Getting files.....";
//your work
}
所以当你再次调用它时,位置不会是'0'\
修改强> 我读了那个链接
PictureBox pb = new PictureBox();
您创建动态的控件,删除旧图像执行此操作
private void openFolderToolStripMenuItem_Click(object sender, EventArgs e)
{
foreach (Control ctrl in this.Controls)
{
if (ctrl is PictureBox)
this.Controls.Remove(ctrl);
}
//Your code