作者kidnaper (弗卡夏)
看板C_Sharp
标题[问题] 储存多个textbox数值
时间Tue Mar 13 22:39:08 2012
大家好,小弟我想写一个阵列来储存form上的多个text.box
以下是我写的方式:
Int64[,] Rdata = new Int64[3, 5];
for (int T = 0; T < Rdata.GetUpperBound(1); T++)
{
for (int t = 0; t < Rdata.GetUpperBound(0); t++)
{
//设定一个n的变数读取全部的textbox
int n = 0;
n++;
Rdata[t, T] = Convert.ToInt64(textBox1.Lines[n].Split('
'));
}
}
问题:
Rdata[t, T] = Convert.ToInt64(textBox1.Lines[n].Split(' '));
这一段我是看板上的文章後所写的,目的是要读取form上共15个textbox
并将数值放入阵列.但执行时会出现 "引索在阵列的界限以外".
但我不知道要如何修改!!
请大家指教一下,谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.47.245.147
※ 编辑: kidnaper 来自: 114.47.245.147 (03/13 22:39)
1F:推 qwer820404:你的n值会超过 因为你先 ++ 在去抓值 会有lines[16] 03/14 01:16
2F:→ qwer820404:把n++移到Rdata那行的後面就好了^^ 03/14 01:16
3F:→ qwer820404:阵列起始是从0开始哦ㄎㄎ 03/14 01:17
4F:→ ssccg:textBox1.Lines[n] 看起来是读取 textBox1里面的各行 03/14 09:41
5F:→ ssccg:并不是你要的读取各个textBox吧? 03/14 09:41
6F:→ ssccg:假设你的textBox是叫textBox1、textBox2、textBox3 ...的话 03/14 09:54
7F:→ ssccg:form.Controls.Find("textBox" + n, true) 才是各textBox 03/14 09:55
8F:→ kidnaper:谢谢q大!!N++已经移置後方了!! 03/14 11:11
9F:→ kidnaper:改成Rdata[t, T] = Form.Contorls.find("textbox" + n, 03/14 11:12
10F:→ kidnaper:true); 後他说不包含Controls的定义,我是否还要命名空间? 03/14 11:13
11F:推 qwer820404:记得要转型 所以会变成 03/14 22:48
12F:→ qwer820404:因为你现在find之後,程式不知道你找到的是哪一种 03/14 22:50
13F:→ qwer820404:Textbox txt = (TextBox)Form.Controls.find("textbox" 03/14 22:51
14F:→ qwer820404:+n, true); 03/14 22:52
15F:→ qwer820404:Rdata[t,T]=txt.Text <Text这属性才是抓值哦> 03/14 22:52
16F:→ qwer820404:记得每段後面要加分号ㄎ 03/14 22:53