2011-09-29 55 views
1

我有一個很好的小UserControl,它是一些可拖動的文本框。在控件的右側是一個可點擊的小箭頭,點擊時,我想要一些選項從控制權的右邊彈出。下拉選擇控件

我已經有了一個PopoutWindow類,它繼承了ToolStripDropDown,它允許我彈出一個新的控件,用以下用法彈出此箭頭的右側。

MyPopoutWindow options = new MyPopoutWindow(); 
    PopoutWindow popout = new PopoutWindow(options); 
    popout.Show(arrowButton, arrowButton.Width, 0); 

MyPopoutWindow是(目前)的自定義用戶控件,其中我想是相同的組合框的彈出出體,或一個ToolStripMenu。

有誰知道我可以使用或繼承來獲得這種效果的Winforms控件?我已經使用ToolStripDropDownMenuToolStripDropDown嘗試,但我得到以下異常:(!是不是總是)

Top-level control cannot be added to a control. 

感謝,

+0

你見過這個http://www.codeproject.com/KB/miscctrl/simplepopup.aspx? – Arie

+0

這就是我之後的事情。現在沒關係,謝謝,我明白了。我會添加一個答案並將其標記爲已接受。 – Connell

回答

1

該解決方案實際上是相當明顯的。正如我在問題中提到的,我試過使用ToolStripDropDown,但是拋出了一個異常。

爲了解決這個問題,我有MyPopoutWindow繼承ToolStripDropDown,但在構造函數中,TopLevel屬性設置爲false。這工作!

public MyPopoutWindow() 
{ 
    TopLevel = false; 
}