繁体   English   中英

在dataGrid [C#]中选择列表项时,如何在pictureBox中更改图像(Visual Studio)

[英]How to change an image in a pictureBox when a List item is chosen in a dataGrid [C#] (Visual Studio)

我正在努力在Visual Studio 2012/13中创建类似于“ Pokedex”的东西(目前基本上是Pokedex)。 这是一个WinForm程序,到目前为止,我有一个数据网格,该数据网格列出了“ Pokemon's”列表编号,名称和类型。 我接下来要做的是,当选择了特定的dataGrid列表项时,有一个pictureBox元素显示Pokemon的图像(从图像链接列表中提取)(因此,如果在dataGrid中选择了#4 Charmander,那么我希望它在pictureBox中显示Charmander的图片)。

这是到目前为止该项目的视觉设计的一个示例:

在此处输入图片说明

richTextBox下的空白空间是pictureBox所在的位置。 稍后,当选择了列表项时,口袋妖怪的描述也将包含在该框中,但是我相信一旦理解了如何在选择时调用该图像,这将很容易实现。

感谢所有帮助! 我现在不包含该项目的代码,因为我不知道有什么用处。 让我知道对项目有更好的了解需要什么。

您可以将ImageList控件添加到窗体中,然后将Pokemon图片添加到ImageList中。 您可以使用ImageList的设计器Images Collection属性轻松地做到这一点。

另外,请确保在DataGridView中将图像索引设置为Pokemons(因此,集合中的第一张图像是Bulbassur,第二张是Ivysaur等)-以后将帮助您通过其索引轻松访问图片。

下一步是将CellEnter事件附加到您的DataGridView 当细胞聚焦时会触发。 将此代码添加到事件处理程序中:

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

请注意,这仅在选择第一列(DexNum)单元格中的任何一个时才会更改图像。 您可以将其更改为所需的任何内容,并更改条件。

我没有进行任何验证,您应该这样做,但是我假设行数等于图像数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM