前言
前段时间在做可视化程序设计大作业的时候遇到了很多问题,其中一个问题便是我今天写的这篇博客。
正文
我的大作业做的是一个简单且小型的酒店管理系统,在这个系统中我设计了很多个button来代表每个房间。需要登记时,直接点击相应的button即可,登记完成后改变button的颜色等属性。
因为需要对button控件的相关属性进行及时的修改,我们需要该控件的name才可以对该控件进行操作。
问题
举个例子,假设你现在有一个button控件,它的名字是BTN,如果我们要修改button控件的颜色,通常我们的做法是这样做的BTN.color=color.red(颜色随意),也就是说我们一般都得知道button的控件name才可以对该控件操作。
但是我的作业中需要把入住房间的信息存入数据库,其中就包含button控件的name属性,name中放的是房间号。但是我把这个name从数据库中读取出来后,它就是一个string类型的变量。我无法将这个string类型的字符串拿去操作一个控件的其他属性。
那么,如何根据一个string类型的变量找到一个控件呢?,比如说我现在有一个 name名为BTN的button控件,我把它存到了数据库中,当我取出来后把它付给了变量a,图和通过a找到该button进行下一步操作呢?解决的办法如下(以button控件为例):
Button but = new Button();//新建一个button控件对象but
string a = “BTN” ;//把数据库中读取出来的name赋值给变量a
but = (Button)this.Controls.Find(a, true)[0];//通过该函数,我们就把新建的button控件的对象but的name属性变成了BTN
but.BackColor = Color.Coral; //通过but我们就可以对控件进行下一步的操作。
这样我们就可以通过变量a找到对应的控件,从而对name名为BTN控件的各个属性进行操作,这样大大简化了代码量,而不必去使用if……else语句进行判断了,使代码非常灵活。