2

次のように、フォーム上の多くのコントロールをメソッド呼び出しから返されたオブジェクトにバインドしています。

textBoxMoonBeam.DataBindings.Add(new Binding("Text", pi, "MoonBeam"));

注: 「pi」は、PlatypusInfo クラスのインスタンス化の名前です。

...しかし、定義により日付に追加された時間が含まれるdateTime値を取得しているが、コントロールに日付のみを表示したい場合、上記のバインディングのタイプを避け、代わりにこれを行う必要があります:

textBoxDateAztecsFirstSawElvis.Text = pi.DateAztecsFirstSawElvis.ToString("d");

最初の例のようにデータをバインドし、日付を切り捨てる方法はありますか?

4

1 に答える 1

2

バインディング ソースのFormatイベントを使用します。

このようなもの:

Binding binding = new Binding("Text", pi, "DateAztecsFirstSawElvis", true);
binding.Format += binding_Format;
textBoxDateAztecsFirstSawElvis.DataBindings.Add(binding);

void binding_Format(object sender, ConvertEventArgs e) {
  e.Value = ((DateTime)e.Value).ToShortDateString();
}
于 2012-05-17T16:29:23.117 に答える