2016-03-21 2 views
1

im sorry fot является новичком на этом языке. Вот моя простая ситуация.Visual C# Чтение данных DataGridView и показ в 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() }); 
      } 

     }    
    } 

Хорошо это работает отлично, и показать мне мои вещи. Теперь я хочу создать событие, которое, когда я выберу с помощью мыши строку Row (целая строка - так имя и количество), показывает мне на картинке изображение этого . Мне нужно знать, как читать STRING, как показано ниже:

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! 
    } 

Помогите мне пожалуйста? Просто нажмите на строку и сравните строку в строке. Если это то же самое, тогда покажите мне изображение в моем окне.

Спасибо всем и прошу прощения за мой плохой английский.

ответ

0

Вы не используете лучшее событие для своих целей. Попробуйте использовать событие SelectionChanged вместо:

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

Убедитесь, что событие должным образом подписан на контроль DataGridView.

+0

Thx очень, он отлично работает! –

Смежные вопросы