@7nabaの技術ブログ

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

using System.Windows.Forms;  
using Microsoft.WindowsCE.Forms;  

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

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

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

このログへのコメント

コメントはありません