3

フォームに複数回ドロップできない単純なコンポーネントを作成するにはどうすればよいですか?
たとえば、フォームに既に TMyComponent をドロップしており、別の TMyComponent をドロップすると、「コンポーネントが既に存在します!」と通知されます。フォームへのコンポーネントのドロップをキャンセルします。

4

1 に答える 1

10

コンポーネントのコンストラクターはOwnerパラメーターを受け取ります。通常、これはフォーム (または DataModule) になります。のリストをOwner.Componentsたどって、あなたのリストが他にあるかどうかを確認してください。存在する場合は、例外を発生させます。

これにより、設計時と実行時の両方でコンポーネントが追加されなくなります。

于 2013-01-10T08:06:25.667 に答える