@7nabaの技術ブログ

.NET Compact FrameworkではドロップボックスにDroppedDownプロパティがない。
しかしプログラムで開閉制御を行いたい、というときに利用する。

using ystem.Windows.Forms;  
using Microsoft.WindowsCE.Forms;  

public const int CB_SHOWDROPDOWN = 0x14F;  
public static bool GetDroppedDown(ComboBox comboBox)  
{  
 Message comboBoxDroppedMsg = Message.Create(comboBox.Handle, CB_GETDROPPEDSTATE, IntPtr.Zero, IntPtr.Zero); //close  
 //Message comboBoxDroppedMsg = Message.Create(comboBox.Handle, CB_GETDROPPEDSTATE, (IntPtr)1, IntPtr.Zero); //open  
 MessageWindow.SendMessage(ref comboBoxDroppedMsg);  
 return comboBoxDroppedMsg.Result != IntPtr.Zero;  
}  
//使用時  
GetDroppedDown(combobox);  

開閉制御はひとつで行いたかったのでフラグ管理で実装したが、もっとよい方法があると思う…。

参考:.NET CF set 'DroppedDown' for combobox

このログへのコメント

コメントはありません