对于开放源码软件项目,我尝试以编程方式将控件添加到WinForms视图中。我想让它们像在Visual Studio设计器中一样可编辑和可调整大小。我一直在尝试以编程方式添加,使用Controls.Add(label)..但我正在努力解决如何使UI可编辑的问题。
我假设它会使用DesignMode --但我只能找到这些属性的getters而不是setters。简单地说--有没有办法在WinForms中以编程方式启用和禁用DesignMode?
我还没有研究过WPF --也许它可以拥有可编辑的控件?
非常感谢,很抱歉圣诞节一过就给大家带来麻烦..T
发布于 2009-12-28 05:43:22
实际上,有一种方法可以使UI可编辑,因为在VS中,designer.You必须在窗体上托管winforms designer。这个信息可能会有帮助:http://msdn.microsoft.com/en-us/magazine/cc163634.aspx
发布于 2009-12-28 05:51:53
它在WinForm中以explained by alexm的形式提供。不幸的是,WPF设计器并非如此。在那里你必须实现你自己的设计器。
发布于 2009-12-28 05:29:51
据我所知,设计器功能是在Visual Studio中实现的,并不是WinForms运行时库的一部分。DesignMode属性是只读的,因为它提供了有关执行上下文的信息;这不是可以动态更改的内容(附注:此属性是not as easy to use,正如人们所希望的那样)。
如果你想让UI在运行时是可编辑的(例如,改变控件的大小/布局),你将不得不手动实现很多行为(例如OnMouseDown处理程序等)。如果你想做一些事情,比如用可抓取的边角绘制边界框,你可能需要钻研自定义绘图。
我不确定WPF,因为我对它的经验要少得多,但this question on SO有一些关于在运行时使控件可调整大小的信息。
https://stackoverflow.com/questions/1966947
复制相似问题