15

System.Windows.Forms.UserControl から継承する WinForms コントロールを作成しました...コントロールのコンシューマが表示できるようにしたいコントロールにいくつかのカスタム イベントがあります。設計時に、[プロパティ] ウィンドウの [イベント] タブにイベントを実際に表示することができません。これは、イベントを割り当てる唯一の方法は、プログラムで記述することであることを意味します

myUserControl.MyCustomEvent += new MyUserControl.MyCustomEventHandler(EventHandlerFunction);

これは私にとっては問題ないと思いますが、他の誰かが私の UserControl を使用するようになった場合、これらのイベントが存在することを知りません (ライブラリ doco を読み取らない限り...そうです)。Intellisense を使用してイベントが表示されることはわかっていますが、プロパティ ウィンドウにも表示できれば素晴らしいと思います。

4

2 に答える 2

29

イベントが公開されていることを確認してください。例えば...

[Browsable(true)]
public event EventHandler MyCustomEvent;
于 2008-09-27T02:53:05.640 に答える
0

デリゲートを使用したソリューション。たとえば、アイテムが追加されたイベントを処理するカスタム ListView に使用しました: デリゲートを宣言します:

   public delegate void ItemAddedHandler(object sender, ItemEventArgs e)

次に、デリゲートを使用するイベントを宣言します。

   [Browsable(true)]
   public event ItemAddedHandler ItemAdded;

注 : ItemEventArgs はカスタム EventArgs です

希望はあなたを助けることができます、私にとってはうまくいきます

于 2016-12-12T15:54:01.850 に答える