在表单中选择图像时,更改表单中的图像

本文关键字:图像 表单 选择 | 更新日期: 2023-09-27 17:56:41

我决定做一个纸牌游戏来帮助我学习如何使用Visual Studio 2010在C#中编程。

我的目标:我希望能够:

  1. 在一个表格上更改卡片组背面的图像(dealButton ) ( cardTableForm
  2. 当我单击optionsForm中的图片框时,将图片框(blackCheckerDeck)中的图像匹配到不同表单(选项表单)上

我的代码

 //Changes the deck design to blackChecker when the blackChecker design is selected.
 private void blackCheckerDeck_Click(object sender, EventArgs e)
   {
       cardTableForm.dealButton.Image = this.blackCheckerDeck.Image;
   }

我的问题

最后一行中读"cardTableForm.dealButton"的部分有以下错误

An object reference is required for the non-static field, method, or property 'WindowsFormsApplication1.cardTableForm.dealButton'

根据本网站的建议,我已经将 ( dealButton) 和 ( blackCheckerDeck ) 的属性更改为

Modifiers: Public

在表单中选择图像时,更改表单中的图像

cardTableForm是一个类。 您需要使用实例(对象)来修改交易按钮图像。

创建"选项"窗体时,需要为其提供cardTableForm的实例。

所以假设你在cardTableForm中有这样的东西

void OnShowOptions()
{
   var options = new OptionsForm();
   options.CardTable = this;  // tell options which card form to play with
   ...
}

在选项窗体中

public CardTableForm CardTable;
void blackCheckerDeck_Click(object sender, EventArgs e)
{
   CardTable.dealButton.Image = this.blackCheckerDeck.Image;
}