我创建了表单 Form1.cs 的副本并将新表单命名为 Form2 并且在程序的每次构建中 Form2 变得与 Form1 相同,我只需要将 Form1 复制到 Form2 并更改 Form2
而且我还无法以任何方式更改 Form2 和这些方块......
我添加一个新窗体,选择一个派生窗体,
然后选择 Form1 窗体
并在屏幕上创建一个 Form2 的副本,我已经创建了它
我需要为自己更改此副本,
但它不允许自己更改
如何制作我可以更改的副本
我创建了表单 Form1.cs 的副本并将新表单命名为 Form2 并且在程序的每次构建中 Form2 变得与 Form1 相同,我只需要将 Form1 复制到 Form2 并更改 Form2
而且我还无法以任何方式更改 Form2 和这些方块......
我添加一个新窗体,选择一个派生窗体,
然后选择 Form1 窗体
并在屏幕上创建一个 Form2 的副本,我已经创建了它
我需要为自己更改此副本,
但它不允许自己更改
如何制作我可以更改的副本
“派生表单”是从向导中选择的表单继承的表单。
请注意,
Form2
您的类标头看起来像这样:类名后面
:
的这个添加表示表单继承自Form1
. 与以通常方式创建的表单相比,它们继承自库类Form
,其标题如下所示:一般来说,OOP 中的继承,尤其是 C# 中的继承是严格扩展的,这意味着您不能删除从祖先继承的任何内容。
当您有一些基本表单的实现,其中只包含所有表单共有的元素和代码时,将使用“派生表单”。然后您可以创建派生表单以避免重复此代码,而只添加特定表单中需要的元素和代码。
在您的情况下,有两种选择。
拒绝使用派生形式,将每一种形式分开独立编写。或者复制粘贴。
创建一个最小的基本形式,它只包含所有其他形式共有的元素,并在衍生品中实施细节。
选项的选择是你的,但第二个是更可取的。
小提示,为了您的目的,不为每个游戏屏幕创建单独的表单会更方便,而是为此创建单独的控件,这些控件将按特定顺序显示。期待将其
UserControl
用作游戏屏幕的基础。