2012-04-26 77 views
0

我執行一個應用程序:加載圖像滾動面板

  • 負載從「我的圖片」文件夾中的圖像的面板會自動加載時, 形式。 (您可以找到代碼here

  • 我的程序中還有另一個功能:打開文件夾,使用戶 打開文件夾以將其圖像加載到同一個面板。

我的問題是: 當過我選擇打開一個新的文件夾,該文件夾的圖像出現「我的圖片」文件夾中的圖像,我知道是什麼問題,但我不不知道如何解決它。

從「我的圖片」自動加載圖像的代碼包含一個稱爲位置變量,它定義當前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

你能發表一些代碼嗎? – GrandMasterFlush 2012-04-26 11:16:40

+0

你想刪除舊照片? – Likurg 2012-04-26 11:22:18

+0

我已經讀了幾次你的問題,並有一些難以理解的問題。如果我不是唯一的人,請嘗試重新提出您的問題。 – MasterMastic 2012-04-26 11:23:22

回答

0

嘗試這樣做

 int position = 0; 
     int count = 0; 
     private void openFolderToolStripMenuItem_Click(object sender, EventArgs e) 
     { 
      toolStripStatusLabel1.Text = "Getting files....."; 
      //your work 
     } 

所以,當你調用這個位置又是willn't '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 
+0

但是,您將0作爲初始值分配給方法正上方的位置。我試過了,沒有工作。我認爲我能做的唯一解決方案是清除並刪除面板中的所有加載的圖像並加載新的圖像,但是如何刪除它們? – toti 2012-04-26 12:23:17

+0

@Aram toti你在哪裏加載它們?我需要控制名稱,並顯示如何添加圖片 – Likurg 2012-04-26 12:31:23

+0

我將圖片加載到面板,如本教程http://www.dreamincode.net/forums/topic/149251-create-image-scroller-for-windows-application/ ..我還希望通過單擊打開文件夾按鈕選擇另一個文件夾來加載更多圖片,以便面板將包含默認文件夾中的加載圖片和我選擇的文件夾中的圖片。但正如我所提到的,由於打開文件夾方法中的位置初始值爲0,因此新加載的圖片將在舊的圖片下。 – toti 2012-04-26 12:40:05