Winforms作成ドロップダウンスタイルパネル
質問
C#.net2.0で独自のカスタムオートコンプリートスタイルドロップダウンコントロールを作成しようとしています。開発の速度を上げるために、私はコントロールをUserControlとして構築しましたが、この方法で問題が発生しました。
カスタム描画ドロップダウンが描画されると、オプションのリストを表示できるようにUserControl領域のサイズを変更する必要があります。
理想的には、オプションのリストが「フローティング」で描画され、UserControlsの高さと幅(親フォームの境界でさえも)によって制約されないという点で、drodpownリストの動作を模倣できるようにします。ツールチップは、私が望んでいる制約のない「フローティング」の別の例です。
これを達成するために考えられる唯一の方法は、境界線やタイトルバーのない新しいフォームをその場で作成し、ポップアップが必要なときに表示することです。
これを行うためのより良い(しかし迅速な)方法はありますか?
TIA
解決
コントロールを正しくフロートさせるには、フォームまたはNativeWindowを使用する必要があります。フォームをコントロールに追従させるのは簡単ですが、特にシームレスなタブ移動/キーナビゲーションが必要な場合は、すべてのフォーカス/非表示の問題を実装して処理することはより困難です。
他のヒント
ToolStripドロップダウンボタンコントロールに基づいたコントロールを作成してみてください。このコントロールには、探している機能があると思います。 ToolStripに基づいてコントロールを作成するためのこのリファレンスが見つかりました。これから始めてみてください。
所属していません StackOverflow