2014-10-18 39 views
0

我正在C#windows應用程序中開發項目。我對這項技術很陌生。我在一個類中聲明瞭Image變量,並在另一個類中聲明瞭列表。我想從資源文件夾中檢索圖像並將其存儲在列表中十次。我寫這樣的代碼,但它返回null。你有任何解決方案,請回復。從C#窗體應用程序中的Resource文件夾中檢索圖像

class clsAddImage 
    { 
     public Image m_imgSampleImage; 
    } 
class clsList 
    { 
     public List<clsAddImage> lstImage = new List<clsAddImage>(); 
    } 
class clsAddImageToList 
    { 
     public void AddImgMethod() 
     { 
      clsList objlist = new clsList(); 
      int i; 
      for (i = 0; i < 10; i++) 
      { 
       clsAddImage objaddimg = new clsAddImage(); 
       objlist.lstImage.Add(objaddimg); 
      } 

      foreach (clsAddImage addimg in objlist.lstImage) 
      { 
       string path = "C:\\Users\\c09684\\Documents\\Visual Studio   2010\\Projects\\WindowsFormsAddImage\\WindowsFormsAddImage\\Resources\\Chrysanthemum.jpg"; 
       addimg.m_imgSampleImage = Image.FromFile(path); 

      } 

      } 
    } 
public Form1() 
    { 
     InitializeComponent(); 
     clsAddImageToList a = new clsAddImageToList(); 
      a.AddImgMethod(); 
    } 
+0

你知道哪一行引起該問題?如果沒有,你是否嘗試在調試器中運行代碼?如果不是,那麼請這樣做。 – honk 2014-10-18 09:28:05

回答

0

我假設你指的是Windows8應用程序?在這種情況下,您可以而不是只需編制一個目錄來檢索信息。用戶必須手動選擇一個目錄,您可以將其存儲以供將來使用。但是,您可以訪問KnownFolders(對於大多數您必須檢查Package.appxmanifest中的功能,例如圖片庫),請參閱http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.knownfolders以獲取選項。

用下面的任務,你將能夠從目錄檢索文件,我希望這可以幫助你解決你的問題:

public async Task GetFilesFromDisk() 
{ 
    StorageFolder picturesFolder = KnownFolders.PicturesLibrary; 
    StringBuilder outputText = new StringBuilder();    

    IReadOnlyList<StorageFile> fileList = await picturesFolder.GetFilesAsync(); 
    var images = new List<BitmapImage>(); 
    if (fileList != null) 
    { 
     foreach (StorageFile file in fileList) 
     { 
      string cExt = file.FileType; 

      if (cExt.ToUpper() == ".JPG") 
      { 
       Windows.Storage.Streams.IRandomAccessStream fileStream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read); 
       using (Windows.Storage.Streams.IRandomAccessStream filestream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read)) 
       { 
        BitmapImage bitmapImage = new BitmapImage(); 
        await bitmapImage.SetSourceAsync(fileStream); 
       } 
      } 
     } // ForEach 
    } 

} 
相關問題