如何给这些textbox中赋值
我动态生成了100个textbox,然后,将数组中的100个字符分别放到每个textbox中,如何赋值到里面呢?生成动态textbox的代码如下:
void textbox()
{
int d = 1;
for (int i = 0; i < 10; i++)//生成的列数
{
for (int j = 0; j < 10; j++)//生成的每行的个数
{
TextBox TextBox1 = new TextBox();
TextBox1.Text = "";
TextBox1.Size = new Size(50, 50);
TextBox1.Margin = new System.Windows.Forms.Padding(0);
TextBox1.Location = new Point(30 + TextBox1.Width * j, 190 + i * 50);
//TextBox1.Name = "TextBox" + i.ToString() + j.ToString();
d += 1;
TextBox1.Name = "TextBox" + d;
this.Controls.Add(TextBox1);
}
}
int c = 1;
for (int a = 0; a < 10; a++)//生成的列数
{
for (int b = 0; b < 10; b++)//生成的每行的个数
{
Label lable1 = new Label();
lable1.Text = "";
lable1.Size = new Size(50, 50);
lable1.Margin = new System.Windows.Forms.Padding(0);
lable1.Location = new Point(45 + lable1.Width * b, 170 + a * 50);
lable1.Name = "Lable" + lable1.Text;
lable1.Text = c.ToString();
c += 1;//等同于c=c+1;
this.Controls.Add(lable1);
}
}
}
赋值的数组代码如下:
private void ReceiveEdit_TextChanged(object sender, EventArgs e)
{
char[] temp = ReceiveEdit.Text.ToCharArray();
Control.ControlCollection cc = this.Controls;
//Form1.ControlCollection cc = this.Controls;
foreach (Control con in cc)
{
if (con is TextBox)
{
for (int w = 1; w <= temp.Length; w++)
{
????????= temp[w].ToString();
}
}
// else { MessageBox.Show("没有找到文本框!"); }
}
生成的时候直接赋值不就行了,干嘛要另搞一个循环专门来弄
自己定义一个数组或者集合来引用哪些控件。
你在for循环中创建个临时对象,然后(离开方法时)丢掉对象自身的引用,又来说要找到控件,这样绕自己干什么呢?
你在设计整个 UI 的背后的结构时,就没有对对象集合有一个基本的建模。
答案来说,不过你知道 con is TextBox,却不知道con as TextBox?
好比如说一个人说自己养了100和孩子,结果他谁都不认识、每一个孩子都标题党地接触一下就忘记了,然后又来问别人“我怎么知道每一个人叫什么名字?”这就奇怪了。他自己为什么不动脑子(或者拿一个本本)记住每一个孩子叫什么名字呢?
TextBox1.Name = "TextBox" + d;
this.Controls.Add(TextBox1);
那么
(this.Controls["TextBox" + d] as TextBox).Text = xxx
TextBox TextBox1 = new TextBox();
TextBox1.Text = "";
你在这里干嘛不赋值
你应该定义一个数组或者集合,例如 List<TextBox>、List<Label>、List<MyControlXX>,而不是纠结什么“遍历”。
在 UI 背后对应的是你的设计内容,你应该从顶层对需要管理的对象集合建模,而不是纠结于从底层去查找什么东西。
然后C#好像有一个 FindContralById[""]的方法的。我依稀记得我以前用过。你给每个TEXTBOX放个ID就可以找到这个控件了。
foreach (Control con in cc)
{
if (con is TextBox)
{
for (int w = 1; w <= temp.Length; w++)
{
????????= temp[w].ToString();
}
}
// else { MessageBox.Show("没有找到文本框!"); }
}
你这里的代码意思是temp是一个数组,保存着这100个textbox的值对吧?
如果是这样,那方法就很多:
1、把这100个textbox保存起来,比如新建一个List对象,在this.controls.add的地方也加到这个list对象中去,这样在temp循环小蜜蜂论坛发帖机里就可以根据序号找对应的textbox
2、把序号保存在textbox的某个值里,比如textbox1.Tag对象,这个是object类型的,可以保存数字,也可以保存对象。
if (con is TextBox)
{
TextBox txt = con as TextBox;
int index = txt.Tag as int;
txt.Text = temp[index].ToString().
}
((TextBox)this.Controls[string.format("textBox{0}",d)]).Text = "xxx";
这么玩就可以。通过控件名字找
菜鸟终于成功了,感谢大家的帮助,最终的句子是这样的,测试了好多句子总是提示不能给实例赋值。
//con.Controls[w+18].Text =temp[w].ToString();
//(con as TextBox).Text= temp[w].ToString();
//string h = temp[w].ToString();
//(this.Controls["TextBox" + w] as TextBox).Text = temp[w].ToString();//成功了一次,后来不知道为什么不行了
//((TextBox)this.Controls[string.Format("TextBox{0}", w)]).Text = temp[w].ToString();
//((TextBox)this.Controls["TextBox" + w.ToString()]).Text = temp[w].ToString();
List<TextBox> list = this.Controls.OfType<TextBox>().ToList();
list[w+2].Text= temp[w].ToString();
如何给这些textbox中赋值相关推荐
- 设置ListBox默认全选并读取ListBox选中项目的数量显示于TextBox中
该功能的实现需要注意一个先后顺序: 1.ListBox绑定数据源. 2.绑定数据源后,ListBox2_DataBound方法的编写,将ListBox设置为默认全选并把ListBox2项目计数值赋值给 ...
- Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中
功能:在textbox中输入内容,动态从数据库模糊查询显示到下拉框中,以供选择 1.建立一aspx页面,html代码 <HTML> <HEAD> < ...
- Python中赋值、浅拷贝、深拷贝
一.赋值 Python中赋值就是对对象的简单引用,这一点与C++不同,如下: a = [1, '123', [12, 'C']] b = a 在上述情况下,a和b是一样的,他们指向同一片内存,b不过是 ...
- 深入理解PHP中赋值与引用
原文:深入理解PHP中赋值与引用 先看下面的问题: <?php $a = 10;//将常量值赋给变量,会为a分配内存空间$b = $a;//变量赋值给变量,是不是copy了一份副本,b也分配了内 ...
- C语言试题二十二之定义了3×3的二维数组,并在主函数中赋值。函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s。
1. 题目 定义了3×3的二维数组,并在主函数中赋值.函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s. 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究生复试 ...
- win10 uwp 让焦点在点击在页面空白处时回到textbox中
原文:win10 uwp 让焦点在点击在页面空白处时回到textbox中 在网上 有一个大神问我这样的问题:在做UWP的项目,怎么能让焦点在点击在页面空白处时回到textbox中? 虽然我的小伙伴认为 ...
- 设计一个应用程序,以在C#中的按钮单击事件上在MessageBox中显示TextBox中的文本...
Here, we took two controls on windows form that are TextBox and Button, named txtInput and btnShow r ...
- C# CRC16 在textbox中显示实时时间
PC环境win10,编译器visual studio2015 CRC16的源码 static int crc16(byte[] data, int size) {int crc = 0x0;byte ...
- TextBox中Lines的应用实例
在VS中,TextBox的Lines属性可将文本内容中每一段文字(硬回车换行的内容)以数组的形式保存在Lines中,减少了用Split分割成数组的过程,加快了代码处理速度.下面通过2个简单实例,看看L ...
- TEXTBOX中的换行
TEXTBOX中的换行 2007-12-14 12:36 要让一个Windows Form的TextBox显示多行文本就得把它的Multiline属性设置为true. 这个大家都知道,可是当你要在代码 ...
最新文章
- linux内核编译与新内核启用
- UVA dp题目汇总
- 基于3D模型的MaskRCNN的训练数据生成
- 在线登记系统代码 php_PHP框架实现WebSocket在线聊天通讯系统
- mysql linux32_Linux 配置 mysql 5.7.32 实操记录
- raid0 raid1 raid5 raid10工作模式的工作原理及特点
- centos查看是否安装了某个软件
- zabbix4.0LTS安装配置
- jQuery设置iframe的高度根据页面内容自适应
- vim忽略大写和小写查找配置
- Eprime error number 1234 :unable to load sound 203
- unity 2d文字跟随主角移动_用Unity制作GalGame/视觉小说游戏的模型素材与插件推荐...
- FANUC机器人基础学习_示教器详解(图文)
- 相机快门、 光圈有啥区别?
- xilinx zynq zynqmp nvme SSD使用
- QLineEdit光标问题
- 访问任何dns都超时_如何使用动态DNS从任何地方轻松访问您的家庭网络
- 能处理姓氏异读的汉字转拼音工具:hanz2piny
- 四肽DArg-GDW,144161-76-2
- PHP面向对象5-基本概念
热门文章
- xci转nsp_找不到xci怎么办,自己动手丰衣足食!
- 使用python读写xlsx格式中的数据【xlrd、pywin32】
- 用友t 的服务器找不到系统管理,用友T+找不到账套了怎么办
- 信息论——信源信息量和信息熵
- 关于图书管理系统项目的大概思路
- Bat| 批处理注释
- 2021年认证杯SPSSPRO杯数学建模B题(第一阶段)依巴谷星表中的毕星团求解全过程文档及程序
- 现代文文言文转化器_初中语文丨7个文言文背诵技巧,不再为背书发愁,实用收藏...
- 基于FPGA的CIC滤波器设计(1)
- Si24R2E超低功耗2.4G有源RFID芯片