在Windows窗体设计器中显示动态创建的控件

本文关键字:动态 显示 创建 控件 Windows 窗体 | 更新日期: 2023-09-27 18:25:10

有没有一种方法可以查看通过设计器中的代码立即创建的控件,而不仅仅是在执行过程中?

在Windows窗体设计器中显示动态创建的控件

Windows窗体设计器仅应用自动生成的文件"Form1.designer.cs"中包含的属性(例如"Form1"的文件名)。如果您更改属性(例如文本、颜色等)或在自己的代码中创建新控件,即在"Form1.cs"中,设计器不会显示它。

这实际上是不可能的,因为设计器必须1)解析代码或2)执行代码才能将所有更改应用到控件。

选项1不起作用,因为表达式求值仅在运行代码时起作用。。。这就引出了选项2:让设计器运行您的代码来动态查找添加的属性?首先,自动运行不受信任的代码不是您想要的。其次,在设计器中动态而不是静态进行这些更改肯定是有原因的,因此将动态更改显示为所见即所得甚至没有意义。

设计器只能显示设计时存在的控件或显示数据绑定控件的示例控件。如果您考虑在运行时基于变量动态创建文本框或标签的代码,设计者如何知道在设计模式下显示哪一个?

如果您希望动态创建的控件在设计模式中显示的方式具有特定的逻辑,则必须创建自定义控件并实现设计时图形代码。这在此处的"自定义设计体验"标题下提到:http://msdn.microsoft.com/en-us/library/ms171725.aspx