2016-08-02 15 views
0

写真のようなイベント を処理するフォーム(だけオーバーライド呼び出していない)の例のonclickメソッドをオーバーライドする理由:代わりに使用していない理由はなぜこれが起こっている showing the onClick method would change the color but never been called only overridedイベント処理

イベントの発行と登録

+0

イベントがどこかに添付されていないか、またはフォーム内のどこかをクリックしていない限り、これが起こる理由はありません – Tomerz

+1

良いクラス設計では、クラスが自分のイベントを聴く必要がないことが求められます。彼らは*他の*クラスにとって興味深い、あなたが知らない人、そして彼らが興味を持っているかもしれないことを前もって推測することができない人。 base.OnClick()を呼び出さないとバグが発生し、Clickイベントが発生しなくなります。あなた自身のイベントを聴いていないのは、Winformsで頻繁に違反するルールです。イベントはデザイナーにとって非常に便利です。良いWinformsコードを書くには、マウスではなくキーボードが必要です。 –

+0

私はメソッドをオーバーライドするだけで、イベントを発生させるだけです。 –

答えて

0

クラスの任意の部分からメンバーとしてオブジェクトにアクセスしてイベントに登録することができます。 WinFormsは自動的にイベントの発生と登録を行うコードを生成します。

+0

はい、私は見るのですが、なぜこれが起きているのですか?しかし、一度私はそれがされるようにイベントを処理オーバーライド。 –