在附圖中更清晰。圖片中的列表框可以像自動完成一樣工作,並在用戶輸入時向用戶顯示建議。問題是該列表框的底部會在其他控件下方,因此您無法看到該列表框的垂直滾動條的向下箭頭。我怎樣才能將它保持在其他控件之上?將列表框置於其他控件之上
1
A
回答
2
ListBox有錯誤的Parent。你不希望分離器面板作爲父母,它會剪輯它。你不能輕易地把它作爲設計師的正確父母。使用視圖+(其他窗口)+文檔大綱。將ListBox從分離器面板拖出到窗體。
1
我在這裏做一個猜測,因爲你的圖片沒有顯示出來,但是你可以使用像ListBox.BringToFront()
或ListBox.SetChildIndex()
?這是一種類似的問題這一個:
Bring Winforms control to front
我想這不會幫助你多,如果你沒有在思想上的問題列表框中直接訪問..
1
我會想象一下,然而,你正在向表單添加你的ListBox
控件並不完全正確。我猜你正在將它添加到它所顯示的位置,因此,與它重疊的控件位於容器的某個其他部分內。如果要顯示對所有其他控件的控件,那麼該控件將需要遍佈整個容器區域。因此,它不應該是您的「Karyotype Entry」容器的某個子控件,而應該是所有三個表單部分的父容器的子代。
1
您可以將ListBox放置在不同的窗體中,並在需要完成列表時調用/顯示窗體。這將節省您不必擔心ListBox是否最高。
這種方法的問題在於你必須編寫自動完成表單,以便它不會從主表單中竊取焦點。
這裏的代碼可以幫助你,以防萬一你想知道如何在沒有激活的情況下使表單顯示(竊取焦點)。
private const int SW_SHOWNOACTIVATE = 4;
private const int HWND_TOPMOST = -1;
private const uint SWP_NOACTIVATE = 0x0010;
[DllImport("user32.dll", EntryPoint = "SetWindowPos")]
static extern bool SetWindowPos(
int hWnd, // window handle
int hWndInsertAfter, // placement-order handle
int X, // horizontal position
int Y, // vertical position
int cx, // width
int cy, // height
uint uFlags); // window positioning flags
[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
static void ShowInactiveTopmost(Form frm)
{
ShowWindow(frm.Handle, SW_SHOWNOACTIVATE);
SetWindowPos(frm.Handle.ToInt32(), HWND_TOPMOST,
frm.Left, frm.Top, frm.Width, frm.Height,
SWP_NOACTIVATE);
}
您也可以嘗試覆蓋ShowWithoutActivation
屬性。
protected override bool ShowWithoutActivation
{
get { return true; }
}
注:這兩個代碼片段都來自這個問題:Show a Form without stealing focus?。
相關問題
- 1. 如何將組件置於其他組件之上?
- 2. 複選框控件啓用表單上的其他控件
- 3. HTML div需要位於所有其他控件之上
- 4. 如何將tkinter窗口置於其他窗口之上?
- 5. 將焦點設置到其他控件
- 6. 如何將其他控件放在視頻之上?
- 7. 包含其他控件的自定義列表框
- 8. 如何將ListView控件置於WPF中的其他控件的頂部
- 9. 如何將WebBrowser控件放置在其他控件下方?
- 10. 如何將Tkinter控件保留在其他控件上
- 11. 將列表移動到其他列表
- 12. 文件上傳和其他html控件
- 13. 如何將MapView的縮放控件放置在屏幕上的其他位置?
- 14. 如何保持列表視圖控制在其他窗口之上?
- 15. 多列列表框控件
- 16. fabric.js在拖動時將活動對象置於其他人之上
- 17. 將VC模擬地置於其他VC之上 - 兩者都可觸摸
- 18. 如何在Android XML中將圖像置於其他圖像之上?
- 19. 基於其他列
- 20. 基於其他列
- 21. 基於其他列
- 22. 基於其他列
- 23. Usercontrol爲其他用戶控件設置文本框文本
- 24. 當選擇其他列表框時取消選擇列表框
- 25. 刪除其他列表框選擇的列表框條目
- 26. 從一個列表框複製到其他列表框
- 27. jqgrid基於其他列值隱藏編輯表單上的列
- 28. 在其他列上有條件的數據框中創建列
- 29. 表列不能將其他列移開?
- 30. 如何在列表框上放置彈出控件
ListBox是否託管在任何東西?即對話或用戶控制? – 2011-12-16 15:03:42