在使用Windows窗体设计GUI时遇到麻烦

本文关键字:GUI 遇到 麻烦 Windows 窗体 | 更新日期: 2023-09-27 18:01:42

我正在尝试编写一个简单的GUI,使用图形的对象原语呈现一些图像。我想要的是一系列的区域,我可以在其他区域隔离的情况下进行绘画,这样每个绘画"画布"在顶层表单的全局坐标框架内都有自己的原点。

到目前为止,我已经尝试添加几个面板到FlowLayoutPanel。然而,它们似乎被放置在另一个之上,因为只有一个onPaint方法被调用。我可以覆盖表单的onPaint来使其他面板无效,然后这些面板被绘制,但不显示。

除了设置大小,并初始化FlowLayoutPanel,有什么我错过了?有更好的方法吗?

代码:http://pastebin.com/30Uf9AGF

在使用Windows窗体设计GUI时遇到麻烦

根据你的类名,看起来你是在设计一款游戏……也许你想看看微软的XNA框架?

然而,你提供的代码的问题是,你的layoutPanel大小不正确,因此它的子控件在主窗体上不可见…因为绘画只用于可见的物品……你的大多数FloorDrawPanels没有绘画…

尝试改变你的layoutPanel的大小或设置它的dock模式来填充

你没有设置FlowLayoutPanel的大小。默认值为200 x 100,边距为3。你用100 x 100的控件填充它。给定的边距,这些控件中只有一个可以在同一时间可见。因此,你只得到一个paint事件也就不足为奇了,Windows只要求可见控件绘制自己。

不太确定是什么意思,先把FLP变大。并将其AutoScroll属性设置为true,以便用户可以将其他控件滚动到视图中。顺便说一句,使用设计器是一种快速发现这一点的方法。