2015-06-24 27 views
0

我在名爲DataGridView1的窗體窗體上添加了一個datagridview。以下代碼添加了一列2列。我想在第二欄中顯示圖像。VB.NET:DataGridViewImageCell - 來自Ressource的圖像?

Dim dt As New DataTable 
dt.Columns.Add("TESTROW") 
dt.Rows.Add("TESTCONTENT") 
DataGridView1.DataSource = dt 

Dim colImage As New DataGridViewImageColumn 
DataGridView1.Columns.Add(colImage) 

For intI As Integer = 0 To dt.Rows.Count 
    Dim cellImage As New DataGridViewImageCell 
    ' THE FOLLOWING LINE WORKS FINE!!!! 
    cellImage.Value = Drawing.Image.FromFile("c:\foo\bar.gif") 

    ' BUT WHY NOT THIS? 
    ' cellImage.Value = Properties.Resources.ResourceManager.GetObject("ExistingRessource") 
    ' OR THIS? 
    ' cellImage.Value = CType(Properties.Resources.ResourceManager.GetObject("ExistingRessource"), Image) 

    cellImage.ImageLayout = DataGridViewImageCellLayout.Zoom 
    DataGridView1.Rows(intI).Cells(1) = cellImage 
Next 

它工作正常,如果我使用「fromFile」與圖像的路徑和第二列顯示單元格內的gif圖片。

不幸的是,我嘗試從資源(「GetObject」)加載圖像失敗,並且單元顯示一個帶有紅色十字的頁面符號。

我在資源中獲得了我需要的所有圖像。

我該如何做到這一點?

在此先感謝。

回答

1

如果您添加的圖像資源,那麼你就可以my.resources.ResourceName其中資源名稱似乎是「ExistingRessource」你的情況

這可能是您當前的嘗試失敗,因爲訪問資源實際上沒有正確添加,或者您的名稱上拼寫錯誤?無論哪種方式,如果您使用my.resources,您可以確定地看到資源已正確添加。

cellImage.Value = My.Resources.ExistingRessource 
+0

哦,是的,「我的」失蹤了。謝謝,現在工作正常。 – DougyDoug