我有一个作业,我需要使用 C# 创建一个 winforms 游戏。我有以下组件:
- 具有自定义绘制事件的面板子类
- 具有默认 Windows UI 元素的面板。
我希望他们这样安排:
因为我手动在中心面板上绘制,所以我想将其设置为Width
, 并Height
固定,因此Form
包含它的子类将显示整个面板。
我尝试在面板子类中手动设置大小:
Width = someFixedWidth;
Height = someFixedHeight;
然后将其添加到包含Form
:
GamePanel panel = new GamePanel(...);
panel.Dock = DockStyle.Center;
this.AutoSize = true;
this.AutoSizeMode = AutoSizeMode.GrowAndShrink;
this.Controlls.Add(panel);
使用这个,我认为,表单将尊重面板的大小,但它只是将窗口缩小到如此之小,以至于什么都不可见,只有标题。
所以我的问题是,我如何能够手动设置 GamePanel 的大小,然后将其停靠在表单的中心,以便表单尊重我设置的大小,并且不会使其更小/更大?