none
有關於TextBox很簡單的問題可否請各位專家幫忙解決?? RRS feed

  • 問題

  • 我想在TextBo.text裡面制定一個格式為
    AA 空格 BB 空格 CC依此類推

    AA/BB/CC為十六進制的數字這地方我已解決
    但是卻無法在TextBox的欄位裡面完成上述的格式請問各位高手專家是否有方法可以製作這種格式的輸入

    2009年12月8日 上午 10:37

解答

  • MaskedTextBox.Mask 屬性
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    • 已標示為解答 Lolota Lee 2009年12月14日 上午 05:49
    2009年12月8日 下午 12:07

所有回覆

  • 你是想要這樣做嗎:

    TextBox1.Text = string.Format("{0:x} {1:x} {2:x}", 10, 11, 12);
    初學不是問題,但用不正確的態度來問問題,那就是很大的問題。
    如果只會用 "看" 的學程式,那不如早點改行,以免誤己一生...
    若不想快點得到解答,可以儘量把問題寫模糊一點,愈模糊愈不會得到解答。
    除非不能打中文,否則請尊重當地語系的網友,使用中文發問或回答,這是一種基本禮貌。
    2009年12月8日 上午 10:39
    版主
  • MaskedTextBox.Mask 屬性
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    • 已標示為解答 Lolota Lee 2009年12月14日 上午 05:49
    2009年12月8日 下午 12:07
  • 依據 心冷熱情熄 大的提示寫的:

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'MaskedTextBox.Mask 屬性: http://msdn.microsoft.com/zh-tw/library/system.windows.forms.maskedtextbox.mask.aspx 
    
            MaskedTextBox1.Mask = ">AA AA AA"
            ' > : 將之後的所有字元轉換成大寫 ; A : 英數字元(必要項)
        End Sub
    
        Private Sub MaskedTextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MaskedTextBox1.KeyDown
            Const Asc0 = Asc("0"), Asc9 = Asc("9"), AscA = Asc("A"), AscF = Asc("F")
            '48, 57, 65, 70
    
            '限制使用者只能輸入十六進制字元 0~9 或 A~F
            If (e.KeyValue < Asc0) OrElse ((e.KeyValue > Asc9) AndAlso (e.KeyValue < AscA)) OrElse (e.KeyValue > AscF) Then
                e.SuppressKeyPress = True
            End If
        End Sub
    


    2009年12月8日 下午 02:15
  • 感謝小朱大大的解釋我是想做成這種格式,但是是要給USER使用的,就是說當使用者輸入的時候只要輸入兩個字串就會自動空格一次而不是直接給值。



    感謝各位高手的回覆

    2009年12月9日 上午 02:27
  • 那心冷提的 Mask edit 比較適用。


    初學不是問題,但用不正確的態度來問問題,那就是很大的問題。
    如果只會用 "看" 的學程式,那不如早點改行,以免誤己一生...
    若不想快點得到解答,可以儘量把問題寫模糊一點,愈模糊愈不會得到解答。
    除非不能打中文,否則請尊重當地語系的網友,使用中文發問或回答,這是一種基本禮貌。
    2009年12月10日 上午 03:12
    版主
  • 請問一下    下面是我寫的    在能輸入十進制  就只能key 數字
    但我發生一個很奇怪的是   我key  鍵盤右邊的數字鍵   key 0     e.KeyValue=96  ; key 1 e.KeyValue=97
    key 英文鍵盤上的數字就正常   怎麼會發生 那麼奇怪的事  我哪裡弄錯了嗎
    我不管打大小寫的A      e.KeyValue=65



    Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
            Select Case Command
                Case &H0, &H2, &H4, &H6, &H2A, &H3A, &H54, &H56, &H5E
                    If ((e.KeyValue >= 48) And (e.KeyValue <= 57)) Or ((e.KeyValue >= 65) And (e.KeyValue <= 70) Or ((e.KeyValue >= 97) And (e.KeyValue <= 102))) Or e.KeyValue = 8 Then

                    Else '
                        e.SuppressKeyPress = True
                    End If

                Case Else

                    If ((e.KeyValue >= 48) And (e.KeyValue <= 57)) Or e.KeyValue = 8 Then

                    Else '
                        e.SuppressKeyPress = True
                    End If
            End Select

    2009年12月11日 上午 07:17
  • 請問一下    下面是我寫的    在能輸入十進制  就只能key 數字
    但我發生一個很奇怪的是   我key  鍵盤右邊的數字鍵   key 0     e.KeyValue=96  ; key 1 e.KeyValue=97
    key 英文鍵盤上的數字就正常   怎麼會發生 那麼奇怪的事  我哪裡弄錯了嗎
    我不管打大小寫的A      e.KeyValue=65

          參考一下 [Keys 列舉型別 ]
          還有, 這樣的情形以後請另開討論緒, 你接在別人的問題後面, 而且關聯性也不大, 感覺怪怪的

    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?
    2009年12月11日 下午 02:45
    版主