vs2005窗体中如何动态生成控件?

来源:百度知道 编辑:UC知道 时间:2024/05/22 09:51:26
请不吝赐教:
C#语言,我想在listbox中动态生成以label和textbox构成各行的控件组,行数可变,每行中textbox在label之后。
1。显示数据后,要求用户可更改textbox中的内容,不知能否实现?(listbox中的项总是不可编辑)
2。现在每个项(即label或textbox)单行显示,不符合我的设想,如何改变?
3。每生成一个控件,都必须用代码设置其各属性么(如autosize,name,size,tabindex,text之类)?(我这里是用代码动态生成控件)location属性都应设成什么呢?

1.如果用listbox是完全不可能达到你要的效果的.最合理的解决方法是继承合适的控件(ListBox/ComboBox/...)生成自己的控件.再者就是用DataGrid.DataGrid是可以添加任意类型的列的,可编辑的要求也容易实现.外型上控制一下就可以让DataGrid看起来和ListBox一样了.
2.同1,但是不能用DataGrid了,最好自己写用户控件.
3.是需要设置的.当然默认的属性不需要改就不要写了.一般来说需要重复生成某类控件时都是去Clone一个然后改其属性的,省去了不少事.location属性请在对象浏览器中查看说明.根据属性的设置,你可以控制新生成的控件位于屏幕的绝对位置,或者是相对于父控件的位置.根据对齐方式,停靠方式还可以有其他的定位方法.