我正在尝试使用XML文件在运行时创建控件。在使用XML文件指定的名称创建这些控件后,我将如何访问这些控件?
例如,如果我在XML文件中有一系列控件:
<control id="0" type="textbox">
<param id="0" type="(name)">DynamicTextbox</param>
<param id="1" type="location">100,73</param>
<param id="2" type="size">119,20</param>
</control>
<control id="1" type="button">
<param id="0" type="(name)">DynamicButton</param>
<param id="1" type="location">200,82</param>
<param id="2" type="size">78,50</param>
</control>
如果我在设计模式下设计UI,而我没有使用XML文件,我可以简单地用各自的名称调用控件。
DynamicTextbox.location = new Point(100,73);
DynamicTextbox.size = new Size(119,20);
DynamicButton.location = new Point(200,82);
DynamicButton.size = new Size(78,50);
由于我在运行时创建控件,我将如何使用这些名称访问它们?
谢谢!
答案 0 :(得分:1)
我认为你是将控件添加到UI元素中?你应该能够通过它访问它们。所以在WinForms中你可能有类似......
TextBox tb = new TextBox();
tb.Name = "DynamicTextbox";
Panel1.Controls.Add(tb);
TextBox tb = (TextBox)Panel1.Controls["DynamicTextbox"];
如果这没有用,请告诉我们您正在使用的应用程序类型(WinForms,WPF,ASP.NET等)。
答案 1 :(得分:0)
想想你如何告诉另一个按钮appart? 我认为您需要在XML中添加一个名称字段,然后在创建按钮时将按钮名称设置为XML格式。
另一种选择是使用反射来查找所有按钮或所有TextBox,但如果你没有任何方法在xml中唯一地识别它们,那么你将无法在运行时告诉它们appart。