- - PR -
自作したToolStripControlHostをVisual Studioのデザイナでプロパティが表示されない
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-08-05 18:06
http://dobon.net/vb/dotnet/control/tschdesigneravail.html
[System.Windows.Forms.Design.ToolStripItemDesignerAvailability(System.Windows.Forms.Design.ToolStripItemDesignerAvailability.ContextMenuStrip)] public class ToolStripNumericUpDown : System.Windows.Forms.ToolStripControlHost { public ToolStripNumericUpDown() : base(new System.Windows.Forms.NumericUpDown()) { } } 上記URLを元にToolStripControlHostを派生させ、ToolStripItemDesignerAvailabilityをContextMenuStripにしました。 その後フォームにMenuStripを貼り付け、アイテムとして登録可能になりましたが、 プロパティに何も表示されません。 (ToolStrip等であれば正しく表示されます) 色々試した結果MonthCalendarのみ正しく表示されますが、他のコントロールは表示されません。 何が原因でしょうか? 試した結果は以下になります × TextBox ○ MonthCalendar × DataGridView × Label × ComboBox | ||||
|
投稿日時: 2007-08-09 23:03
ToolStripItemDesignerAvailabilityがContextMenuStripなら MenuStripでもToolStripでも、デザイナからは選択できません。 無理やり追加しても、プロパティが見えないこともありませんでした。 MonthCalenderであっても、そうでなくても同様でした。 | ||||
|
投稿日時: 2007-08-16 17:47
れいさん、ご返信ありがとうござます。
説明が下手で申しわけないのですが、 ToolStripItemDesignerAvailabilityをALLにすれば、どこでも追加可能になりますが、ToolStripやMenuStripのトップであれば正しく表示されますが、MenuStripのサブアイテムだと変になります。 (トップというのは通常ファイル(F)などが置かれる場所です) | ||||
|
投稿日時: 2007-08-17 09:17
確認しました。 確かにおかしくなります。 フレームワークのバグですね。 いま時間ないので対応策は調べられませんが、 コピーとペーストでなんとかするのがよいと思います。 | ||||
|
投稿日時: 2007-08-17 16:32
何か必要な実装が抜けているのかと思っていました。
サブアイテムに入れるだけで、ビジュアライザーの動きが変になりますし・・・ とりあえず、手書きで対応するしかないですね。 もし、何か情報が入りましたら教えて下さい。 お忙しい中ありがとうございました。 | ||||
|
投稿日時: 2007-08-17 18:41
ContextMenuも同じですね。 ToolStripComboBoxとかToolStripTextBoxも同じようにおかしくなります。 いままで気づきませんでしたが、たぶん既出なんでしょうね。 |
1