Visual c#读取DataGridView数据并显示在PictureBox中

Visual c# Read DataGridView data and show in PictureBox

很抱歉我是这门语言的新手。这是我的简单情况。

我有一个 DataGrid,我以这种方式放置我的库存项目:

 public void UpdateInventoryListUI()
    {
        dGridInvetory.RowHeadersVisible = false;

        dGridInvetory.ColumnCount = 2;
        dGridInvetory.Columns[0].Name = "Name";
        dGridInvetory.Columns[0].Width = 112;
        dGridInvetory.Columns[1].Name = "Quantity";

        dGridInvetory.Rows.Clear();


        foreach (InventoryItem inventoryItem in mainForm1._player.Inventory)
        {
            if (inventoryItem.Quantity > 0)
            {


                dGridInventory.Rows.Add(new[] { inventoryItem.Details.Name, oggettoInventory.Quantity.ToString() });
            }

        }            
    }

好的,它运行良好,让我看看我的物品。 现在我想创建一个事件,当我用鼠标 select 行(整行 - 所以名称和数量)时,它会在图片框中显示该图像 物品。我需要知道如何阅读下面的字符串:

    private void dGridInventory_MouseClick(object sender, MouseEventArgs e)
    {
          if(// the string "Name" on row is == "Mask_DPS"){
          picBoxMask.Image = Properties.Resources.MASK_DPS;
          labelInfo.Text = "This is a dps Mask!";
    }
          if((// the string "Name" on row is == "Mask_TANK"){
          picBoxMask.Image = Properties.Resources.MASK_TANK;
          labelInfo.Text = "This is a tank mask!;

          //...and so on!
    }

你能帮帮我吗?只想单击行并比较行中的字符串。如果是相同的,请显示我图片框中的图像。

谢谢大家,抱歉我的英语不好。

您没有使用最好的活动来完成您想要完成的事情。尝试改用 SelectionChanged 事件:

void dGridInventory_SelectionChanged(object sender, EventArgs e) {
  if (dGridInventory.CurrentRow != null) {
    if (dGridInventory.CurrentRow.Cells["Name"].Value.ToString() == "Mask_DPS") {
      // etc...
    }
  }
}

确保事件已正确订阅到 DataGridView 控件。