質問

C#.net2.0で独自のカスタムオートコンプリートスタイルドロップダウンコントロールを作成しようとしています。開発の速度を上げるために、私はコントロールをUserControlとして構築しましたが、この方法で問題が発生しました。

カスタム描画ドロップダウンが描画されると、オプションのリストを表示できるようにUserControl領域のサイズを変更する必要があります。

理想的には、オプションのリストが「フローティング」で描画され、UserControlsの高さと幅(親フォームの境界でさえも)によって制約されないという点で、drodpownリストの動作を模倣できるようにします。ツールチップは、私が望んでいる制約のない「フローティング」の別の例です。

これを達成するために考えられる唯一の方法は、境界線やタイトルバーのない新しいフォームをその場で作成し、ポップアップが必要なときに表示することです。

これを行うためのより良い(しかし迅速な)方法はありますか?

TIA

役に立ちましたか?

解決

コントロールを正しくフロートさせるには、フォームまたはNativeWindowを使用する必要があります。フォームをコントロールに追従させるのは簡単ですが、特にシームレスなタブ移動/キーナビゲーションが必要な場合は、すべてのフォーカス/非表示の問題を実装して処理することはより困難です。

他のヒント

ToolStripドロップダウンボタンコントロールに基づいたコントロールを作成してみてください。このコントロールには、探している機能があると思います。 ToolStripに基づいてコントロールを作成するためのこのリファレンスが見つかりました。これから始めてみてください。

http://blogs.msdn.com/jfoscoding/attachment/1335869.ashx

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top