2015-07-14 4 views
1

У меня есть маскированное текстовое поле в моей программе, которое просит пользователя записать число в этой маске «00». Иногда пользователь записывает только одно число, подобное этому «4». Как я могу форматировать текстовое поле для отображения «04»?VB 2010 - Как отформатировать номер

ответ

0

PadLeft сделает это за вас.

TextBox1.Text = TextBox1.Text.PadLeft(2, "0") 
+0

Я получаю сообщение об ошибке «TextPadLeft» не является членом «System.Windows.Forms.MaskedTextbox» , Что нужно сделать, чтобы включить TextPadLeft? –

+0

Вы не нашли точку в текстовой точке PadLeft? –

+0

Кажется, я сделал. Спасибо за Ваш ответ. –

0

Удар на удар, но вот еще один метод (под редакцией за комментарий):

Private Sub MaskedTextBox1_Leave(sender As Object, e As EventArgs) Handles MaskedTextBox1.Leave 
    Do Until MaskedTextBox1.MaskFull 
     MaskedTextBox1.Text = "0" & MaskedTextBox1.Text 
    Loop 
End Sub 
+0

Это работает, но у меня также есть еще одно маскированное текстовое поле с этой маской «000». И я также хочу сделать этот формат «4» равным «004» или «24» на «024». Вышеупомянутое решение для этого не работает. –

+0

Используйте PadLeft для достижения ваших требований. –

+0

@PanagiotisGianniotis, см. Править выше. Кроме того, я считаю, что Морт прав, что вы просто пропустили '.', чтобы заставить' Text.PadLeft' работать. – Josh

Смежные вопросы