私はWindowsを知っていますCombobox
コントロールは何もa Textbox
and a ListBox
glued togetherです。WinFormsのドロップダウンウィンドウをシミュレートするには?
私はWinFormsで同じことをシミュレートする必要があります。私は適切な効果を達成するために設定する必要がありますWindowsのウィンドウオプションを把握しようとしています。
- ドロップダウンはchild windowすることはできません - それができるオーバーラップウィンドウ
- owned window - - 所有するウィンドウが常にある、それはpop-up windowでなければなりませんそれ以外の場合は、親の面積概念的
- にクリップされZオーダーの所有者の上に表示されます。所有者が破棄されると、所有されたウィンドウが自動的に破棄されます。オーナーが最小化されると、所有されたウィンドウは非表示になります。私がこれまで管理してきた最高のタスクバーに表示されないフォーム(
this.ShowInTaskbar = false
) - (
this.TopMost = true
)- ボーダレス(
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
) - 最上位を作成することです
- ボーダレス(
この境界線のない最上部のフォームには、「ドロップダウン」コントロールが含まれています。私は、ドロップダウンフォームがフォーカスを失ったときに私のドロップダウンを「隠す」:
this.Deactivate += new EventHandler(TheDropDownForm_Deactivate);
void TheDropDownForm_Deactivate(object sender, EventArgs e)
{
...
this.Close();
}
を混乱のこの集合体は、十分に機能...
...「ドロップダウンが」取ることを除いて、所有者のフォームから遠ざけてください。
これは私の質問です。ポップアップウィンドウにはどのようなプロパティがありますか?
しかし、その後は、どのように私はそれがフォーカスを失ったとき、私のドロップダウンフォームを非表示にしない - それはを集中失うことができませんか?
.NETでコンボボックスのドロップダウンをシミュレートするにはどうすればよいですか?
注:は、あなたが何か他のものとの例のスクリーンショットでは何を参照してください混同しないでください。
可能複製(http://stackoverflow.com/questions/353561/how-to-create-ac-sharp- [置いたC#のWinformsコントロールを作成する方法] winforms-control-that-hovers) –
私はどこで/どのように/あなたがこれのようなものが必要なのか興味がありますか? WPFコントロールを使用することを検討することができます(操作がはるかに簡単で、WinFormsで使用できます)。 – tsells
@HansPassant基本的には、コントロールが親を持っているので、答えは私には役に立たない。親があれば、それは親にクリップされます(つまり、 "ドロップダウン"はその親のフォームの外に存在することができます) –