2017-01-06 4 views
0

C#では、数値のみを受け入れるテキストボックスを作成しましたが、 "____:____:____"という形式で時刻を受け入れるコードを作成したいので、ユーザーがその一部分をゼロで埋め合わせる。 例: ユーザーが書いている:「_2:12:_3」それは「午前2時12分03秒」として、それを完了する必要があります。C#時間形式の塗りつぶし

誰もがこのコードを持っていますか?

+4

[ウォークスルー:MaskedTextBoxコントロールの操作](https://msdn.microsoft.com/en-us/library/kkx4h3az(v) = vs.100).aspx)があなたにとって興味深いかもしれません。 –

+4

すべての場合に機能しません。ボックスに文字列を貼り付けると、検証はスキップされます。質問は過去に何度も尋ねられました。 DataTimePickerを使用する方が良いです。 – jdweng

+0

WinForms、WPFなどの質問は何ですか? – grek40

答えて

1

私は最善を次のようにC#で置き換え()関数を使用することだと思う:

string x = "this is an example of a string with a _ character"; 

string z = x.Replace('_', '0'); 
0
private void SearchBar_TextChanged(object sender, TextChangedEventArgs e) 
     { 
      int value = int.Parse(YourTextBox.Text); 
      if (value<10) 
      { 
       YourTextBox.Text = "0" + value; 
      } 
     } 

とofcourseのユーザーが分60以上を入力した場合、あなたは以下のように他のロジックを追加することができますテキストボックステキストは空の文字列に置き換えてください

+0

ありがとうございました。 –

+0

'string str = x.Text; int i = 0; 文字列ss = ""; foreachの(新しいリストの文字列s (str.Split( ':'))){ I = int.Parse(S)。 if(int.Parse(s)<10) { ss + = '0' + System.Convert.ToString(i); }そうSS + = System.Convert.ToString(S)。 } i = int.Parse(ss); x.Text = i.ToString( "D6"); ' –