我决定制作纸牌游戏,以帮助我学习如何使用Visual Studio 2010在C#中编程。
我的目标: 我希望能够:
dealButton
)cardTableForm
)
当我点击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
答案 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;
}