- PR -

MaskedTextBoxから継承したコントロールのがBindingしているテーブルから値を得るタイミングで処理を行いた

1
投稿者投稿内容
影羽
常連さん
会議室デビュー日: 2006/09/16
投稿数: 20
投稿日時: 2006-10-13 12:31
VS2005 C#で windowsアプリケーションを開発しています 

MaskedTextBoxから継承したコントロールにBindingTextというプロパティ
を加え、このプロパティにAccessテーブルの列をバインディングしています。

このプロパティがAccessテーブルの列の値を取得したタイミングで、処理を
行いたいと思っています。

処理の内容は、取得した列の値を調べて、このコントロールのMaskを変更
することです。

以上を行おうと思い、次のようなコードを書きました。

[System.ComponentModel.DefaultBindingProperty("BindingText")]
class A : MaskedTextBox
{
public string BindingText
{
get{ ... }
set
{
//valueを調べる
object Result = CheckValue(value);

//調べた結果を元にMaskの再設定
SetMask(Result);
}
}
}

実際に実行してみると,set{...}の部分が、
フォームの表示までに数回呼び出され、valueが空だったり、テーブルの列の値だったり
するので、正しくテーブルの列の値を調べることができません。

テーブルの列の値をコントロールに読み込むタイミングでその列の値を調べたいのですが、どのように書けばよいのでしょうか。

よろしくお願いします。
1

スキルアップ/キャリアアップ(JOB@IT)