2009-04-22 8 views
2

.NETCFにErrorProviderクラスがないので、どうすれば同様の機能を実装できますか(必ずしもErrorProviderのように)。.NET Compact FrameworkでErrorProviderをエミュレートするにはどうすればよいですか?

DataRow.RowErrorプロパティとDataRow.SetColumnErrorメソッドを使用してコントロールをデータテーブルにバインドするために、すべての通常のデータバインディング構造を使用していますが、DataTable、BindingManagerBaseなどのイベントを見つけることができません任意の種類の通知を受け取るためにフックします。

私はフォームのすべてのコントロールを手動で繰り返し、バインドされたコントロールのルック・アンド・フィールを変更するメソッドを呼び出すことができませんか?実際には、少しも基本 -

おかげで、 MRB

答えて

0

ErrorProviderクラスは、かなり基本的なようです。 Red Gate Reflectorがある場合は、クラスを逆アセンブルして見てみることをおすすめします。それ以外の場合は、Dictionary<Control, String>を作成します。ここで

は、独自のプロバイダを作成する上で迅速なアイデアです:

Dictionary<Control, String> ErrorSet = new Dictionary<Control, String>(); 

public void SetError(Control control, String message) 
{ 
    // code for adding error information 
    ErrorSet.Add(control, message); 
} 

public String GetError(Control control) 
{ 
    // code for retrieving error information 
    return ErrorSet[control]; 
} 

public String Clear() 
{ 
    // code for clearing all errors 
} 

私はここにR-Gの反射を持っていないか、私はより多くのサンプル方法を提供します。しかし、これは、何らかの種類のサンプルを提供するべきです。

関連する問題