デザイナ自動生成コードの生成順を制御したい
- 題名: デザイナ自動生成コードの生成順を制御したい
- 著者: 月夜見命
- 日時: 2010/03/20 23:35:27
- ID: 26585
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: デザイナ自動生成コードの生成順を制御したい
- 著者: Hongliang
- 日時: 2010/03/20 23:50:45
- ID: 26586
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: デザイナ自動生成コードの生成順を制御したい
- 著者: 月夜見命
- 日時: 2010/03/21 1:14:22
- ID: 26587
- この記事の返信元:
- この記事への返信:
- ツリーを表示
OS:XP/Vista/7
言語:VB/C#/DelphiPrism
.NET:2.0
こんばんわ
現在カスタムコントロールを作っています。
このコントロールのプロパティを設定した際、特定のプロパティは
他の特定のプロパティより後に自動生成してほしいのですが、
そんな制御は可能なのでしょうか。
以下経緯:
カスタムコントロールにはItemsプロパティがあり、さらに現在選択中のアイテムの
インデックスを示すCurrentIndexプロパティがあります。
このCurrentIndexプロパティはデザイナで変更可能とし、
変更された際に表示処理等内部で処理を行うためアイテム数以上の値が代入されたら
例外を投げるようになっています。
ここで、デザイナのコレクションエディタでアイテムを2つ追加した場合、
CurrentIndexを1に設定するのは当然OKで、
2を設定すると例外となりプロパティ変更がキャンセルされるのも正常な動作です。
が、1を設定した状態でデザイナを開き直した際にデザイナのエラーとなります。
(実行時も例外発生)
デザイナで自動生成されたコードが、Items.Addよりも
CurrentIndex = 1のほうが先に来ているのが原因だと判明したことから
今回の質問となります。
以上よろしくお願いします
※ListBoxとかどうやってるんだと思ったら、SelectedIndexとかはプロパティグリッド非表示でした…