初學者,百度加論壇請教出來了文本保存
但我如果有500個textbox,也只能這樣寫下去嗎
自己琢磨了幾個回圈,都失敗了
請教大佬有啥簡化的方法?
Dim PathUserData As String = "d:\11111.txt" '文本檔案寫入
Dim t As System.IO.StreamWriter = New System.IO.StreamWriter(PathUserData, False, System.Text.Encoding.UTF8)
t.WriteLine(TextBox1.Text)
t.WriteLine(TextBox2.Text)
t.WriteLine(TextBox3.Text)
t.WriteLine(TextBox4.Text)
t.WriteLine(TextBox5.Text)
t.WriteLine(TextBox6.Text)
t.WriteLine(TextBox7.Text)
t.WriteLine(TextBox8.Text)
t.WriteLine(TextBox9.Text)
t.WriteLine(TextBox10.Text)
t.WriteLine(TextBox11.Text)
t.WriteLine(TextBox12.Text)
t.WriteLine(Label4.Text)
t.Close()
Dim sr As System.IO.StreamReader = New System.IO.StreamReader("d:\11111.txt", System.Text.Encoding.Default)
Dim line As String
line = sr.ReadLine '文本檔案讀取
Me.TextBox1.Text = line
line = sr.ReadLine
Me.TextBox2.Text = line
line = sr.ReadLine
Me.TextBox3.Text = line
line = sr.ReadLine
Me.TextBox4.Text = line
line = sr.ReadLine
Me.TextBox5.Text = line
line = sr.ReadLine
Me.TextBox6.Text = line
line = sr.ReadLine
Me.TextBox7.Text = line
line = sr.ReadLine
Me.TextBox8.Text = line
line = sr.ReadLine
Me.TextBox9.Text = line
line = sr.ReadLine
Me.TextBox10.Text = line
line = sr.ReadLine
Me.TextBox11.Text = line
line = sr.ReadLine
Me.TextBox12.Text = line
line = sr.ReadLine
Me.Label4.Text = line
sr.Close()
uj5u.com熱心網友回復:
Dim i As Integer
For i = 1 To 500
Dim c() As Control = Me.Controls.Find("TextBox" & i, False)
MessageBox.Show(c(0).Text)
Next
uj5u.com熱心網友回復:
大佬這好像不是我要的代碼,我是想比如500個文本要讀取保存,我這代碼只能這個順序那么長的寫下去嗎
uj5u.com熱心網友回復:
讀寫一篇文章,你的目的是什么?如果行顯示文章,可以用一個listbox,分行讀取到控制元件中,為什么要建那么多textbox?uj5u.com熱心網友回復:
其實一個textbox也可以實作,將它的屬性設定成多行即可uj5u.com熱心網友回復:

這樣的GroupBox大概要190多個,然后里面textbox各6個,算下來要1000多個
然后我在里面輸入內容保存到文本,是動態一直會變的
uj5u.com熱心網友回復:

這樣的GroupBox大概要190多個,然后里面textbox各6個,算下來要1000多個
然后我在里面輸入內容保存到文本,是動態一直會變的
我只能重復的一個個text1,text2.....這樣寫下去嗎
uj5u.com熱心網友回復:
可以定義textbox陣列吧,回圈遍歷陣列不就可以了嗎uj5u.com熱心網友回復:
百度寫了幾個,沒成功額
能給個一小段示范嗎
uj5u.com熱心網友回復:
使用表單嵌套比較好:新建一個表單,假設為formA,在里面放一個goup,放6個textbox,在這個表單里面寫幾個public的函式,比如清除所有的textbox、獲取值等
在主表單里面把上面的表單formA嵌套進來,然后回圈操作:
填完內容獲取內容后,可以呼叫formA的清除方法,再次輸入
表單嵌套的使用方法可參考:
https://developer.51cto.com/art/201001/179552.htm
uj5u.com熱心網友回復:
VB6.0里面有控制元件陣列,VB.net用法不太一樣,貌似這種場景不太適合控制元件陣列
uj5u.com熱心網友回復:
直接在電子表格檔案里填寫不更容易嗎?可以直接復制、粘貼,更容易些。
uj5u.com熱心網友回復:
直接在電子表格檔案里填寫不更容易嗎?
可以直接復制、粘貼,更容易些。
本身是有一塊大的木板子上面格式都畫好的、手工擦寫、想著電子化省力點
uj5u.com熱心網友回復:
使用表單嵌套比較好:
新建一個表單,假設為formA,在里面放一個goup,放6個textbox,在這個表單里面寫幾個public的函式,比如清除所有的textbox、獲取值等
在主表單里面把上面的表單formA嵌套進來,然后回圈操作:
填完內容獲取內容后,可以呼叫formA的清除方法,再次輸入
表單嵌套的使用方法可參考:
https://developer.51cto.com/art/201001/179552.htm
好、我看看、謝了哈
uj5u.com熱心網友回復:
這樣的GroupBox大概要190多個,然后里面textbox各6個,算下來要1000多個
然后我在里面輸入內容保存到文本,是動態一直會變的
1、只需要按圖在表單上一個group和六個textbox,如果要保存的檔案用到編號就再加一個textbox,另外布置一個清除、一個保存按鈕。
2、保存的程序中,可以用一個字串保存六個textbox資訊,
str1=""
For i = 1 To 6
Dim c() As Control = Me.Controls.Find("TextBox" & i, False)‘textbox1~textbox6
str1=str1 & c(0).Text) & vbcrlf
Next
保存的檔案名可以用時間保存目錄,編號做為檔案名,由程式生成,比手工命名省事。
保存完成后編號自動+1,也可以在此進行清除命令
3、如果資料都是固定的,可以加上一個讀入按鈕,將保存的檔案分別讀入。
4、如果有固定時間間距,可以加上timer1,設定好時間,自動讀入。
uj5u.com熱心網友回復:
通常來說,一個FORM上的控制元件個數,都是固定的,假如你是編輯人員資訊的表單,不外乎就是姓名,地址,籍貫,婚否,電話。。。, 當需要保存這些資訊或讀取這些資訊時,都是逐個處理的。因為每個TextBox代表的資訊不同,就有不同的業務邏輯,比如姓名不能為空,地址可以不填。所以不要想太多~
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/14590.html
標籤:VB.NET
上一篇:combobox在Windows8.1無法用滑鼠滾輪改變選中項
下一篇:unity中C#參考Interop.SpeechLib .dll打包之后在Win7電腦上運行報錯,在Win10電腦上不報錯
