none
MaskedTextBox問題~~~ RRS feed

  • 問題

  • 請教各位先進:

    在VB2005Express是否有像Access表單中的TextBox一樣的功能,可以設定格式為數字加上千分位還可以設定小數位數呢??

    在DataGridView的控制項的TextBoxColumn就有Format這個功能,怎麼控制項沒這個東東呢??

    如果用TextBox該如何做呢(值的部份不要有千分位)??

    還是用MaskedTextBox的Mask該如何設定不固定長度的數值加上千分位與小數點呢?

    還望各位先進不吝指教,謝謝您!!

    2006年6月28日 上午 08:48

解答

  • 一、把Mask設定成:9,999,999.00。

    二、然後程式指定MaskedTextBox1.Text = CInt(MaskedTextBox1.Text).ToString("0,000,000.00")。

    如果輸入12345結果會變成0,012,345.00,1234567則變成1,234,567.00,使用MaskTextBox應該就是希望輸入能符合格式,而您用這個控制項只是希望使用者只能輸入數字,那建議您應該去使用TextBox,然後寫一段檢查輸入是否為數字的程式(這樣看起來比較符合您的需求)。

    2006年6月30日 上午 08:50
    版主

所有回覆

  • 控制項有阿~它叫做MaskedTextBox,您可以去試著用看看
    2006年6月28日 上午 09:26
    版主
  • 不好意思~~~

    我應該這樣問~~~

    如果我是用Masked TextBox的話,我要讓使用者只能輸入數字,而輸入完自動會加上仟分位","和小數點二位,例如輸入12345後會變成12,345.00 ,輸入1234567後會變成1,234,567.00,在Masked TextBox控制項我應該如何設定呢?
    因為我如果設定9,999,999.99則前面這組會變成"1,234,5  .  ",後面這組則是"1,234,567.  ",並無法滿足我要的不固定長度的數字,並且小數點後面兩位沒輸入應該自動補0的要求

    不像在Access 在設定時只要設定格式是標準整數,再設定個小數點位數就ok了,而在VB2005Express的DataGridView中的欄位只是設定下段程式碼就有一樣的效果
    DataGridView1.Columns.Item(0).DefaultCellStyle.Format = "N2"

    但不知道Masked TextBox的Mask該如何設定呢??

     

    2006年6月29日 上午 02:14
  • 一、把Mask設定成:9,999,999.00。

    二、然後程式指定MaskedTextBox1.Text = CInt(MaskedTextBox1.Text).ToString("0,000,000.00")。

    如果輸入12345結果會變成0,012,345.00,1234567則變成1,234,567.00,使用MaskTextBox應該就是希望輸入能符合格式,而您用這個控制項只是希望使用者只能輸入數字,那建議您應該去使用TextBox,然後寫一段檢查輸入是否為數字的程式(這樣看起來比較符合您的需求)。

    2006年6月30日 上午 08:50
    版主