作者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