在以其他形式选择图像时更改表单中的图像

时间:2013-01-30 05:51:27

标签: c# visual-studio-2010

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

我的目标: 我希望能够:

  1. 在一个表单(dealButton
  2. 上更改卡片组背面的图像(cardTableForm) 当我点击blackCheckerDeck中的图片框时,
  3. 匹配不同表单(optionsForm)上的图片框(optionsForm)中的图像。
  4. 我的代码

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

1 个答案:

答案 0 :(得分:0)

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

创建选项表单时,您需要为其提供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;
}