C#3.5のWinforms ...IExtenderProviderとWinFormsのデザイナーのファイル
は、だから私は最近IExtenderProviderを発見したのだが、追加のプロパティを持つコントロールを拡張するために使用することができますか。
私が設定したプロトタイププロジェクトでは、extendeeプロパティの 'set'メソッドにブレークポイントを設定しました。フォームがロードされると、フォーム上のすべてのコントロールに対して 'set'メソッドが実行されていました。それはまさに私が望んでいたものです。プロトタイプが成功した後、私はメインプロジェクトにエクステンダコンポーネントを実装しました。私のプロジェクトのすべてのフォームは、エクステンダコンポーネントを追加したベースフォームから継承しています。ベースフォームでは、エクステンダコンポーネントの修飾子をpublicに設定して、このベースフォームを継承するフォームでアクセスできるようにしました。
私のextendeeプロパティの 'set'メソッドでブレークポイントを追加する前に同じことをしていますが、フォーム内のコントロール(ただし、ベースフォームのコントロールのみ)ではメソッドが実行されません。助けて!
この時点で私は自分のフォームを制御しているので、そのほとんどがチェックインされている(つまり、変更からロックされている)ということを追加するべきでしょう。私がチェックアウトしてプロバイダプロパティを変更したフォームについては、私はデザイナーのファイルで、すべてのコントロールにプロバイダプロパティの 'set'メソッドを呼び出す追加のステートメントがあることに気付きました。
this.MyProvider1.SetMyProperty(this.txtTextBox1、false);
エクステンダコンポーネントを動作させるには、デザイナファイルを物理的に変更する必要がありますか、ロックされたファイルに対処できなければならないと思います。私はそれがデザイナーのファイルを変更する必要がある場合は、新しいフォームやエクステンダコンポーネントがプロジェクトに追加された後に変更されるフォームの問題ではないと思う - しかし、101フォームがすべてソースでロックされている-safe ...
私は、任意の考えをいただければと思います...どの時点で