2009-12-27 66 views
1

对于OSS项目,我试图以编程方式将控件添加到WinForms视图..并且我想使这些可编辑和可调整大小,如在Visual Studio设计器中。我一直在玩编程,使用Controls.Add(标签)..但我正在努力解决如何使UI可编辑。WinForms - 启用设计模式

我假设它会使用DesignMode - 但我只能找到这些属性的getter而不是setter。简单地说 - 有没有什么方法可以以编程方式在WinForms中启用和禁用DesignMode?

我还没有调查WPF - 也许这将能够拥有可编辑控件?

非常感谢,对不起,是一个痛苦的权利圣诞节后.. 牛逼

+0

您是否希望您的UI可以从Visual Studio设计器进行编辑,还是希望您的控件在运行时可以调整大小?你的问题有点不清楚。 – Brann 2009-12-27 21:05:04

+0

我希望能够添加控件,并在运行时动态调整它们的大小。我实现了控件的添加,但它是移动控件和设置属性,即我想知道的字体大小 – 2009-12-28 11:04:55

回答

1

据我所知,设计功能在Visual Studio中实现,而不是WinForms的运行时库的一部分。 DesignMode属性是只读的,因为它提供有关执行上下文的信息;这不是可以在飞行中改变的东西(作为便笺:这个属性是not as easy to use,正如人们所希望的那样)。

如果要在运行时使UI可编辑(即更改控件的大小/布局),则必须手动实现大量行为(例如,OnMouseDown处理程序等)。如果您想要绘制带有可折叠边角的边框,您可能需要深入研究自定义绘图。

我不太确定WPF,因为我对它的使用经验不多,但是关于SO的this question有一些关于使控件在运行时可调整大小的信息。

2

它在WinForm中可用的格式为explained by alexm。不幸的是,这对于WPF设计师来说并非如此。在那里你必须实现你自己的设计师。