问题描述
如果我有一堆控件,控件名各不相同(无规律)。一个数组记录这些控件命,如果用一个字符串(数组)实现对控件的操作比如string[]a={txtkk.Text,btnbb.Text,txtvvText,cbodd.Text,txtcc.Text}.其中有5个控件。名称和前面数组的名称一致。我如何用数组来对控件实施操作。谢谢。
解决方案
解决方案二:
你不如直接拿个List装这些控件。反正都是引用类型,只记录了一个首地址而已。
解决方案三:
遍历窗体,判断控件名然后对应操作foreach(controliteminthis.controls){strings=item.name;}
解决方案四:
引用1楼yuwenge的回复:
你不如直接拿个List装这些控件。反正都是引用类型,只记录了一个首地址而已。
控件类型不一致。
解决方案五:
如果都是textbox完全可以定义成textbox[]boxlist=newtextbox[]{xtkk,btnbb,txtvv,cbodd,txtcc}然后直接操作boxlist[0].text
解决方案六:
注意,.Name才是控件名.Text只不过是控件显示的文本,这是随时在变化的
解决方案七:
引用5楼Z65443344的回复:
注意,.Name才是控件名.Text只不过是控件显示的文本,这是随时在变化的
你的第一个方法还行,不过要2次循环。控件类型不一致。否则都好多中方法。
解决方案八:
可以放到control类型的集合里啊control类型是控件类型的基类,只要是窗体控件都可以放进去当然在使用的时候,需要再判断到底是什么类型,强制转换回来才能使用
解决方案九:
Dictionary<string,object>dicObj=newDictionary<string,object>();你直接做个字典,然后把控件放字典里就行了,取得时候直接dicObj["txtkk"]不过都是object型的,需要强制转化回来
解决方案十:
引用3楼majian1234的回复:
Quote: 引用1楼yuwenge的回复:
你不如直接拿个List装这些控件。反正都是引用类型,只记录了一个首地址而已。控件类型不一致。
List<Control>即可,再不行用ArrayList总可以了吧
解决方案十一:
我觉着楼主没找着对象。