0

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

我的目标:我希望能够:

  1. dealButton在一张表格 ( cardTableForm)上更改卡片组 ( ) 背面的图像
  2. blackCheckerDeck我单击optionsForm.

我的代码

 //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
4

1 回答 1

0

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

创建 Option 表单时,您需要为其提供cardTableForm.

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

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

在 OptionsForm 中

public CardTableForm CardTable;

void blackCheckerDeck_Click(object sender, EventArgs e)
{
   CardTable.dealButton.Image = this.blackCheckerDeck.Image;
}
于 2013-01-30T05:58:25.257 回答