c#窗体动态生成多个textbox控件,该怎么解决
c#窗体动态生成多个textbox控件
我是用foeach来循环的,根据xml中对应的Nodelist长度,
foreach (XmlNode xn in nodelist)
{
TextBox list = new TextBox();
this.Controls.Add(list);
var val = xmldoc.GetElementsByTagName("name");
list.Text = val[0].ChildNodes[0].Value;
}
其实用MessageBox测试的话发现应该生成多个textbox的,但实际上只能生成一个textbox,我觉得应该是TextBox list = new TextBox();这里list需要时唯一的,但不知道要怎么修改,求大神帮忙,非常感谢!!!
------解决思路----------------------
你生成了多个TextBox,但因为位置相同,所以界面上看起来就一个
你可以用FlowLayoutPanel来放你的TextBox,这样就看的出来了,或者每个TextBox都设置Location
------解决思路----------------------
你把 this.Controls 的Count show 出来 如果是一个 那就是你的nodelist 为1;否则就是1L的分析。
------解决思路----------------------
用flowlayoutpanel 作为容器控件
不要用this 作为容器控件
------解决思路----------------------
2楼的说的对 对每个控件的 location 定义下 不要一样,一样就重复了
------解决思路----------------------
1楼说的对,在xml配置里面把位置也配上吧
------解决思路----------------------
估计是生成的都在同一个位置,看不出效果。
另外,建议给每个TextBox设置ID值
你可以把生成的TextBox添加到不同的容器控件,瞧瞧生成了几个?
------解决思路----------------------
你只是看到一个~~~实际上全部都叠在一起了~~~你为textbox的位置用变量控制试试
------解决思路----------------------
循环运行了几次,这个请自行调试,控件有几个查看 this.Controls.Count 就明白了.
当控件都重叠在一起的时候,眼见也不为实了.
------解决思路----------------------
http://blog.****.net/xianfajushi/article/details/38984387
------解决思路----------------------
确实是位置相同啊,兄弟!!!控件的位置相同 叠加在一起了!
------解决思路----------------------

------解决思路----------------------
上面貌似已经解答了 你应该写个方法来判断弹出来的框框的位置 然后给下一个框框一个相对位置就好了
------解决思路----------------------
很好,就用这样的方法
------解决思路----------------------
重叠的控件哪个显示在上面,显然与楼主认为的不同啊,只能接受现实了.
我是用foeach来循环的,根据xml中对应的Nodelist长度,
foreach (XmlNode xn in nodelist)
{
TextBox list = new TextBox();
this.Controls.Add(list);
var val = xmldoc.GetElementsByTagName("name");
list.Text = val[0].ChildNodes[0].Value;
}
其实用MessageBox测试的话发现应该生成多个textbox的,但实际上只能生成一个textbox,我觉得应该是TextBox list = new TextBox();这里list需要时唯一的,但不知道要怎么修改,求大神帮忙,非常感谢!!!
------解决思路----------------------
你生成了多个TextBox,但因为位置相同,所以界面上看起来就一个
你可以用FlowLayoutPanel来放你的TextBox,这样就看的出来了,或者每个TextBox都设置Location
------解决思路----------------------
你把 this.Controls 的Count show 出来 如果是一个 那就是你的nodelist 为1;否则就是1L的分析。
------解决思路----------------------
用flowlayoutpanel 作为容器控件
不要用this 作为容器控件
------解决思路----------------------
2楼的说的对 对每个控件的 location 定义下 不要一样,一样就重复了
------解决思路----------------------
1楼说的对,在xml配置里面把位置也配上吧
------解决思路----------------------
估计是生成的都在同一个位置,看不出效果。
另外,建议给每个TextBox设置ID值
你可以把生成的TextBox添加到不同的容器控件,瞧瞧生成了几个?
------解决思路----------------------
你只是看到一个~~~实际上全部都叠在一起了~~~你为textbox的位置用变量控制试试
------解决思路----------------------
循环运行了几次,这个请自行调试,控件有几个查看 this.Controls.Count 就明白了.
当控件都重叠在一起的时候,眼见也不为实了.
------解决思路----------------------
http://blog.****.net/xianfajushi/article/details/38984387
------解决思路----------------------
确实是位置相同啊,兄弟!!!控件的位置相同 叠加在一起了!
------解决思路----------------------
------解决思路----------------------
上面貌似已经解答了 你应该写个方法来判断弹出来的框框的位置 然后给下一个框框一个相对位置就好了
------解决思路----------------------
很好,就用这样的方法
------解决思路----------------------
重叠的控件哪个显示在上面,显然与楼主认为的不同啊,只能接受现实了.