2011-06-29 45 views
0

我有一個項目,我想要顯示組合顯示下拉列表的目錄列表像對話框一樣。DlgDirListComboBox在C#/ VB.Net

有一個Win32 API

int DlgDirListComboBox(
    LPTSTR lpPathSpec, 
    int nIDComboBox, 
    int nIDStaticPath, 
    UINT nFileType 
); 

和C#版本(感謝pInvoke.net

[DllImport("user32.dll")] 
static extern int DlgDirListComboBox(IntPtr hDlg, StringBuilder lpPathSpec, 
    int nIDComboBox, int nIDStaticPath, uint uFiletype); 

,但我想不出什麼價值,我應該通過在nIDComboBox參數(我嘗試和handle不工作在這裏!)

回答

1

nIDComboBox應該是組合框的Win32控件ID 。你可以用另一P讓它/通過傳遞調用呼叫控制的Handle

[DllImport("user32.dll")] 
static extern int GetDlgCtrlID(IntPtr hWnd); 

但你也可以列出目錄,而通過使用Directory.GetDirectories

訴諸的P/Invoke