我试图通过Visual Studio实现Blackjack,但刚刚介绍它。假设我有一个PictureBox代表手中的牌。此框以面朝下卡的图像开头,表示尚未处理的卡槽。我在Form对象中有一个函数,它根据整数参数将PictureBox图像更改为另一个卡片图像资源。这都很标准。
我遇到的麻烦实际上是从main调用方法。我可以创建一个新的Form对象并将自动生成的对象设置为不可见,但我宁愿使用自动生成的表单。我应该将所有游戏逻辑放在Form1.cs文件中吗?自动生成的表单对象是否具有我可以使用的默认名称?
我意识到这似乎是新手级别,但似乎微软的支持文档更喜欢你从设计师的角度创建整个项目,并没有为实际编码提供太多帮助。
答案 0 :(得分:0)
简单Forms程序的典型模型是允许Program.cs中的Main()
方法保持其默认形式:设置一些内容,创建主Form
子类的实例(默认情况下,类名称为Form1
),并将其传递给Application.Run()
方法。
在UI对象之外设置“控制器”对象是一种很好的设计。但特别是如果你刚开始的话,如果“控制器”逻辑也在你的主要Form
子类中,你可能会发现它更简单易懂。
在这种情况下,是的...所有代码都在一个.cs文件中,实际上在一个对象中。
即使使用Form
对象中的控制器逻辑,您仍然会发现将基本上是控制器逻辑的代码与用户界面逻辑的代码分开并使用C#{{1用于标记这些代码段的指令。这将有助于您保持一个仍然将同一类中的两个角色分开的心理模型。
除此之外,还有许多不同的观点,从完整的“从臀部拍摄”方法到对特定设计模式的极其严格和严格的遵守。但上面的内容与Visual Designer引导您的模式一致,因此初学者可以从这里开始。