我有一個ListBox
與SelectionMode = MultiExtended
。我希望ListBox的默認行爲被「追加」。換句話說,按住控制鍵時的行爲應該是ListBox的默認被動功能。WinForms列表框追加選擇
我該怎麼做?我是否需要手動訂閱「Mouse Down」和「Key Down」事件?有沒有我錯過的設置?
謝謝。
我有一個ListBox
與SelectionMode = MultiExtended
。我希望ListBox的默認行爲被「追加」。換句話說,按住控制鍵時的行爲應該是ListBox的默認被動功能。WinForms列表框追加選擇
我該怎麼做?我是否需要手動訂閱「Mouse Down」和「Key Down」事件?有沒有我錯過的設置?
謝謝。
醜陋的解決方案,但我能做到的最好。
[DllImport("user32.dll", SetLastError = true)]
static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);
public const byte KEYEVENTF_KEYUP = 0x02;
public const int VK_CONTROL = 0x11;
private void listBox1_MouseEnter(object sender, EventArgs e)
{
keybd_event(VK_CONTROL, (byte)0, 0, 0);
}
private void listBox1_MouseLeave(object sender, EventArgs e)
{
keybd_event(VK_CONTROL, (byte)0, KEYEVENTF_KEYUP, 0);
}
使用MultiSimple
模式
http://msdn.microsoft.com/en-us/library/system.windows.forms.selectionmode(v=vs.80).aspx
SelectionMode = SelectionMode.MultiSimple
我用'MultiSimple'失去了「拖拽選擇」功能。我需要附加功能'MultiExtended',但我不希望當前選定的索引重置。 (基本上,按住Ctrl鍵時'MultiExtended'的行爲如何。) – 2012-07-05 18:46:41