Visual Studio 2005 のフォームデザイナ

コントロールの切り取り・貼り付けを行うと、そのコントロールのイベントが実行されなくなる。 C# でしか確認してませんが、 VB でも出来そう。

たとえばある Button コントロールに対して次のように button1_Click() メソッドをイベントハンドラとして登録しておく。簡単に言うと、フォーム上にボタンを貼り付けてそれをダブルクリックです。

this.button1.Click += new System.EventHandler(this.button1_Click);

で、このボタンの切り取り・貼り付けを行うと、プロパティはちゃんと設定されているけどイベントハンドラは消えている。 すでにフォーム上にあるコントロールを SplitContainer に置き直そうとしてちょっとはまりました…。

コピー&ペーストでコントロールを増やして、それらにコピー元のイベントハンドラが登録されたままじゃ邪魔だから消すんだろうと思うので、バグではないはず。だけどこれもまた面倒。


About this entry