2011-06-29 12 views
0

ダイアログボックスのようにディレクトリリストのドロップダウンリストを表示するコンボを表示するプロジェクトがあります。C#/ VB.NetのDlgDirListComboBox

私は(そこの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 /呼び出しに頼ることなく、ディレクトリを一覧表示することができます
関連する問題