2011-08-13 27 views
0

テキストボックスにテキストを通常の方法で入力すると、テキストが日付形式に変わります。 たとえばユーザーが20110110と入力したとき2011/01/10にテキストが変更されましたテキストをテキストに変換中にテキストボックスのテキストを変換する

+0

ユーザーが入力するテキストの書式を設定することを意味しますか? 'TextBox.Text'は文字列です。 – Tim

+0

はい............ – user422481

+0

どのようなUIフレームワークを使用していますか? WinFormsの場合は、MaskedTextBoxが役に立ちます。 – IanR

答えて

2

どの時点でこれを行いますか?彼らは最後の "0"を入力した瞬間ですか?

あなたはフックがTextChangedイベントにできたとような何か:

public void ReformatDate(object sender, EventArgs e) 
{ 
    TextBox textBox = (TextBox) sender; 

    DateTime dt; 
    // TODO: Work out what culture you want to parse/format in. 
    if (DateTime.TryParseExact(textBox.Text, "yyyyMMdd", 
           DateTimeStyles.None, out dt)) 
    { 
     textBox.Text = dt.ToString("yyyy/MM/dd"); 
    } 
} 
個人的に

私はユーザーとして、私はは、あなたの心、その振る舞いをしたいと思うことはよく分からないが。代わりにテキストボックスがフォーカスを失ったときにこれを行うことができます。

+0

それは私が欲しいものに似ていました。しかし、正確ではありません。とにかく私はあなたのコードからアイデアを得て、私はそれを変更します..ありがとう! – user422481

+0

@ user422481:あなたはそれが望んでいないことは何ですか?おそらくあなたはあなたの質問を更新すべきです。 –

関連する問題