![]() |
|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
![]() ![]() |
|
主題工具 | 顯示模式 |
![]() |
#1 |
註冊會員
|
![]() 各位高手,這是小弟遇的問題,不知該如何解,請知的人能教一下!! 題目是只用文字方塊二個,一個是公分,一個是英吋 而利用TextBox1_TextChanged的事件去解(不要用命令鈕) 也是我在第一個輸入數字時第二個文字方塊會自己換算成英吋, 在第二格輸入數字時,第一格會自動換算成公分... 以上是小弟寫的!! Public Class Form1 Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged TextBox2.Text = Val(TextBox1.Text) / 2.54 End Sub Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged TextBox1.Text = Val(TextBox2.Text) * 2.54 End Sub End Class 在執行時輸入時會出現一些定位上的問題,利如我要輸入50,他卻跳成05 小弟是猜因為換算時小數的問題,因為二格同時內容在作改變,所以要同時符合 二行程式的條件,所以算出來才有問題,不知有沒有高手,能解救一下!! 先謝了!! |
![]() |
送花文章: 0,
![]() |
![]() |
#2 (permalink) |
管理版主
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() 你可以使用一個全域變數當作判斷旗標
分別應用在 TextBox1 與 TextBox2 的 GotFocus事件上 比如 在TextBox2 的 GotFocus事件寫上 flg_IsTextBox = 2 在TextBox1 的 GotFocus事件寫上 flg_IsTextBox = 1 接著在 TextBox1 的TextChanged 事件第一行追加 寫上 if flg_IsTextBox <> 1 then Exit Sub TextBox2 同理 原理你可以設個中斷點,操作之後按F8以步進方式就可了解 當然方法不只如此 但原理都差不多 也就是避免 TextBox1呼叫TextBox2事件 而 TextBox2 又呼叫TextBox1事件 造成循環 |
![]() |
送花文章: 2042,
![]() |
![]() |
#3 (permalink) | ||||
註冊會員
|
![]() 引用:
還有另一寫法 , 就是表單上多設2個: option1 和 option2 讓 user可以選 3事件內 全部指令 加起來 只須7行指令即可ok TextBox1的事件只須要5行指令如下 引用:
option1 的 click事件 內寫1行 呼叫:TextBox1_TextChanged 引用:
引用:
此帖於 2009-03-31 07:20 PM 被 飛行船大大 編輯. |
||||
![]() |
送花文章: 185,
![]() |