2013-12-08 36 views
0

我正在創建類似於Visual Studio 2012/13中的「Pokedex」的東西(它基本上是Pokedex目前)。這是一個WinForm程序,到目前爲止,我有一個數據網格列出了「口袋妖怪」的列表號,名稱和類型。接下來我要做的是在選擇特定的dataGrid列表項時,有一個pictureBox元素顯示Pokemon的圖像(從圖像鏈接列表中提取)(因此,如果在數據網格中選擇了#4,Charmander,那麼I想讓它在pictureBox中顯示Charmander的圖片)。如何在數據網格中選擇列表項時更改圖片框中的圖像[C#](Visual Studio)

這這裏是該項目的視覺設計的例子至今:

enter image description here

RichTextBox的下空空間是在PictureBox是。稍後,當選擇列表項目時,口袋妖怪的描述也將包含在該框中,但是我相信一旦我瞭解如何在選擇時調用圖像,這將很容易實現。

所有和任何幫助表示讚賞!我現在不包括該項目的代碼,因爲我不知道什麼是有用的或不是。請讓我知道需要什麼來更好地瞭解項目。

回答

0

您可以將ImageList控件添加到您的表單並將您的口袋妖怪圖片添加到您的ImageList。您可以使用ImageList的設計師Images Collection屬性輕鬆完成此操作。

此外,請務必將您的圖片索引設置爲您的012ke(因此集合中的第一張圖片是Bulbassur,第二張圖片是Ivysaur等) - 這將稍後幫助您輕鬆訪問圖片的索引。

下一步是將CellEnter事件附加到您的DataGridView。當細胞聚焦時它會發射。 該代碼添加到事件處理程序:

private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e) 
{ 
    if (e.ColumnIndex == 0) 
    { 
     pictureBox1.Image = imageList1.Images[e.RowIndex]; 
    } 
} 

請注意,如果您選擇任何的第一列(DexNum)細胞,這隻會改變形象。你可以改變它爲任何你喜歡的,改變狀況。

我還沒有做任何驗證,你應該這樣做,但我假設行數等於圖像的數量。

+0

因此,目前暫停並告訴我索引不能設置爲0.將其更改爲任何其他數字根本不會對該程序執行任何操作。任何關於下一步要走的建議? (完全錯誤:在System.Windows.Forms.dll中發生類型'System.ArgumentOutOfRangeException'的未處理異常 附加信息:InvalidArgument ='0'的值對'index'無效。) –

+0

啊,我不知道它是如何修復的,但是我搞砸了一些,之後它工作得很好......不知道是什麼修復了它,但它最終運行正常。非常感謝您的幫助和支持! –

相關問題