2008-11-25 105 views
2

我有從DataGridView派生的日曆控件。自定義項目懸停事件已經就位。在處理事件時,我擁有懸停的項目和鼠標位置。顯示有關該項目的詳細信息的彈出窗口的最佳方法是什麼?我應該使用一個精簡的表單(沒有標題欄,控制箱等),只需在MouseLeave上關閉它?有沒有更好的辦法?顯示/隱藏懸停彈出窗口的最佳方法

謝謝!

回答

2

任何類型的控件,面板,用戶控件等等。只要它們不需要在當前窗體之外彈出,就可以進行這些操作。如果需要在外面彈出,則可能需要按照說明使用表單並將其移除。

預先在主窗體中創建控件或窗體,然後當鼠標懸停所需的控件時,使彈出控件可見,並且當鼠標離開時,使其不可見。

不過要注意鼠標事件,它們可能會被新近的控制權抓住。這可能需要一個小小的定位體操,因爲您必須抵消該位置,以便光標永遠不會懸停在緩衝控制上。

以Microsoft Windows工具提示爲例。

+0

就這樣,我正確地理解它......我將添加一個面板到我的窗體並隱藏它。當懸停發生時,我將設置面板位置,使其可見並將其設置在日曆控件的頂部?我猜我應該使用LostFocus彈出面板? – dotjoe 2008-11-26 14:49:25

-3

我使用thickbox(jQuery插件)彈出窗口這樣。它允許您使用各種方法顯示數據(ajax,iFrame),還可以在需要捕獲數據的情況下從彈出窗口設置回調。如果你想看看我用它最近你可以點擊任何此頁面上的演示環節:

http://www.prolifiq.net/Corporate/inaction.aspx

0

結束了使用一個精簡的形式。爲了自動關閉它,我在加載事件上啓動一個計時器,並在每次打勾時檢查光標位置是否仍在表單內。工作很好。