English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

誰可以幫我看一下為什麼不能顯示在text1呢!?
題目是把lest1裡的內容點任何一個會出現在texe1
並且所點的內容是直行顯示
例如:假如我在list1點橫式"台北市"
在text1裡顯示是直式的
"台"
"北"
"市"
對了~~在text1方塊那邊要設一下屬性
MultiLine=True
多行顯示!
以下是VB語言。

Private Sub Form_Load()
List1.AddItem "基隆市"
List1.AddItem "台北市"
List1.AddItem "台北縣"
List1.AddItem "桃園縣"
List1.AddItem "新竹市"
List1.AddItem "新竹縣"
List1.AddItem "苗栗縣"
End Sub

Private Sub Text1_Change()
Dim k As String
Dim s As String, k As String
Dim i As Integer
s = List1.Text
For i = i To Len(s) Step 1
k = k + Mid(s, i, 1) + Chr(13) + Chr(10)
Next i
Text1.Text = k
End Sub

2005-07-08 03:26:53 · 2 個解答 · 發問者 Anonymous in 電腦與網際網路 程式設計

嗯...感謝你回答我的問題^^
我還有個小疑問就是..
我把你的程式碼Copy上去執行
發現當我點"台北市"又點"新竹市"的時候
我的程式碼會重複qq...
這該如何解決呢?
我們老師說過會重複所以還要加個東西去終止它!?~
我不大懂老師的意思...
以下宣告是老師要我們打上去的
Dim k As String
Dim s As String, k As String '重複k好像是要避免它重複
Dim i As Integer
我不大懂~~有點笨笨的^^" 希望別介意~~
3q~~

2005-07-08 04:28:26 · update #1

啊!抱歉我沒看到最下面的
執行過後成功了..真感謝你^^
昨天我還思考了大半天~"~還解不出來...真笨ㄏㄏ

2005-07-08 04:30:19 · update #2

2 個解答

你的程式有幾個錯誤:
1.你是希望list1點一下,把結果放在text1.text,所以應該要把該段程式放在list1_click而非text1.change
2.你把變數宣告放在事件內,所以只要該事物驅動,就會宣告一次,而同一個名字的變數不可重複宣告,建議把變數宣告放在一般區。
3.k這個變數宣告兩次
4.for迴圈的初值打錯成i,應該是1才對

修改後的程式如下:

Dim k As String
Dim s As String
Dim i As Integer
Private Sub Form_Load()
List1.AddItem "基隆市"
List1.AddItem "台北市"
List1.AddItem "台北縣"
List1.AddItem "桃園縣"
List1.AddItem "新竹市"
List1.AddItem "新竹縣"
List1.AddItem "苗栗縣"
End Sub

Private Sub List1_Click()
s = List1.Text
For i = 1 To Len(s) Step 1
Text1.Text = Text1.Text + Mid(s, i, 1) + Chr(13) + Chr(10)
Next i
End Sub

2005-07-08 08:12:27 補充:
如果希望text1.text只出現一個縣名,而非一直累績下去,則在
s=list1.text下面加
text1.text = ""
就好了

2005-07-08 04:10:39 · answer #1 · answered by 上官 5 · 0 0

哈哈~~
上官~~^^"
你的
Dim k As String
這個沒用到^^"...
可以刪掉@@..
謝謝你唷^^

2005-07-08 04:33:01 · answer #2 · answered by Anonymous · 0 0

fedest.com, questions and answers