バインディングされたコントロールの入出力時に書式変換する方法

  Binding オブジェクトで連結されたコントロールの入出力時に書式変換するには、Binding オブジェクトに書式変換するイベントメソッドを設定します。このイベントメソッドには、出力(表示)用の「Format」と、入力用の「Parse」があります。
【使い方】
  // bnd は Binding オブジェクト

  // Money_Format はデータ表示時に金額表示形式に変換するイベントメソッド
  bnd.Format += new ConvertEventHandler(Money_Format);

  // Money_Parse はデータ入力時に金額表文字(\,)を除外するイベントメソッド
  bnd.Parse += new ConvertEventHandler(Money_Parse);

/// <summary>
///  金額表示書式設定イベントメソッド
/// </summary>
private void Money_Format( object sender, System.Windows.Forms.ConvertEventArgs e )
{
    if ( e.Value != null && e.Value.GetType() == typeof(System.DBNull)) 
    {
        e.Value = String.Format("{0:C} ", e.Value);
    }
}

/// <summary>
///  金額表示書式入力対応イベントメソッド
/// </summary>
private void Money_Parse( object sender, System.Windows.Forms.ConvertEventArgs e )
{
    if ( e.Value != null ) 
    {
        e.Value = Regex.Replace(Regex.Replace(e.Value.ToString(), ",", ""), "\\", "");
    }
}
【注意】
戻る