关于变量与控件的问题

问题描述

如果我有一堆控件,控件名各不相同(无规律)。一个数组记录这些控件命,如果用一个字符串(数组)实现对控件的操作比如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总可以了吧
解决方案十一:
我觉着楼主没找着对象。

时间: 2024-10-30 01:03:18

关于变量与控件的问题的相关文章

全编辑WebGrid控件LrcGrid(5)—— 构造函数、变量和属性

web|变量|函数|控件 全编辑WebGrid控件LrcGrid(5)-- 构造函数.变量和属性 LrcGrid从System.Web.UI.WebControls.Table继承,实现INamingContainer接口 元数据属性和构造函数:元数据声明了控件的标签和默认属性,构造函数为控件一些属性指定了默认值. [ ToolboxData("<{0}:LrcGrid runat=server></{0}:LrcGrid>"), DefaultProperty

关于如何操作其他窗体的控件或变量的方法

变量|控件 关于如何操作其他窗体的控件或变量的方法! 其实解决的方法有很多,在这里只做简单的总结.对于其他方法,请多指教! 1. 定义全局变量 其实这个方法比较简单也很好理解,我们只要在一个module里面定义了两个全局变量就可以了. 例如:public frm1 as new form1() Public frm2 as new form2() 这样,我们无论在哪里想访问就很容易了.但是,这样做会耗费比较多的系统资源.一般来说不要使用全局变量. 2. 使用shared 前缀 使用了shared

在VC++6.0中利用串行通信控件

目前,在用计算机进行数据传输时,常用的是串行通信方式.在Visual C++的编程中,既可以用Windows API函数进行串行通信编程,也可以利用环境自带的控件进行编程.利用 API函数编写实际应用程序时,往往要考虑多线程的问题,这样编出来的程序不但十分庞大,而且结构比较复杂,继承性差,维护困难.但是使用串行通信控件就相对简单一些,而且功能强大,性能安全可靠. 本文以Microsoft Communications Control(version 6.0)为例,介绍串行通信控件在VC++中的使

用简单的方法使控件显示变量值的变化

问题描述 大家好,我是C#的初学者,我之前一直搞的是C++.我有个问题想问一下大家.有一个变量,这个变量的值会发生变化,但是什么时候变化,多久变一次,不知道.在界面上,我想用Lable或者Text控件来显示这个变量的值.要是C++做,用update(ture)控件的值就会随其变化.但是在C#中,我不知道怎么做.我看到有的人,用的是定时器Timer,我觉得太麻烦了吧,这样太消耗资源,因为你要不停地刷新,即使变量的值没有改变,C++绝对没有人会这么做.还有的人用循环,这些都和我认识的编程习惯不符.这

mf控件-怎样处理好MFC控件关联

问题描述 怎样处理好MFC控件关联 MFC基于对话框的win32应用程序在处理控件对象变量*与控件之间关联的时候,编译通过但就是执行时遇到问题,如通过CEdit m_ctledit对象直接对关联的控件进行操作时,在这之后应该UpdateData(false)吗?但我调试发现UpdateData(false)放在之前反而没有出错,为什么呢?不是空间变量改变了在刷新吗?还有在OnInitDialog()初始化函数里,不能用m_ctledit.SetFocus()而只能用((CEdit*)GetDlg

一步一步学List Control控件的用法(第一步)----创建第一列

  第一步:创建一个列 注:开发平台为VS2008.NET.   1.  创建一个MFC应用程序,选择基于对话框的. 具体步骤如下:文件à新建à项目àVisual C++àMFCàMFC应用程序,在下方名称中输入你自己想要建立的项目名,此处为ListCtrl. 在MFC应用程序向导中选择引用程序类型,然后在窗口右边应用程序类型中选择基于对话框,然后选择完成. 2.  进入项目,可以直接看到建立好的一个对话框,将对话框中部的"TODO:在此放置对话框删除". 3.  从工具箱中拖一个Li

关于如何操作其他窗体的控件或变量的方法!

变量|控件 关于如何操作其他窗体的控件或变量的方法!其实解决的方法有很多,在这里只做简单的总结.1.  定义全局变量其实这个方法比较简单也很好理解,我们只要在一个module里面定义了两个全局变量就可以了.例如:public frm1 as new form1()      Public frm2 as new form2()这样,我们无论在哪里想访问就很容易了.但是,这样做会耗费比较多的系统资源.一般来说不要使用全局变量.2.  使用shared 前缀使用了shared定义的字段(变量)或者属

mfc-MFC控件绑定变量时候为什么找不到我建立的类别

问题描述 MFC控件绑定变量时候为什么找不到我建立的类别 我先建了一个CMybutton类,然后在屏幕上画了一个按钮控件,之后想去绑定控件变量,问题来了--变量类型中没有我之前新建的CMybutton,是哪里错了吗? 解决方案 先选择别的类型,然后再改成你的类型 解决方案二: 呵呵,你建立的CMyButton类是手动写的吧,不是用向导生成的,手动的话在项目管理文件里面没有对应的CMyButton类,所以找不到啦!最简单的方法是,不用管找不找到,直接写上你的类型就可以了! 解决方案三: 先选择别的

c++-使用ocx控件关联变量,其m_hWnd=NULL

问题描述 使用ocx控件关联变量,其m_hWnd=NULL 我用C++写了一个OCX控件.在MFC程序调用的使用,对该控件关联了一个变量m_myoxc.然后模仿其它人的代码进行判断if(m_myoxc.m_hWnd == NULL){ return -1}.我也不知道为什么这么写.但是现在程序卡在这边了.在什么情况下m_myoxc.m_hWnd == NULL??我控件也注册过了. 解决方案 控件这是初始化成功,m_hWnd 应该就不为空. 否则,说明控件变量初始化失败.可以在 OCX 控件的初