当我在复选框列表中使用鼠标单击事件时,结果取决于之前的选择。因此,我需要带有鼠标事件的previewkeydown。
没有编译或运行时错误。 但这不起作用。事件正在处理所有其他键但不是鼠标键!
任何帮助?
private void chckListBox_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{ if (e.KeyCode == Keys.LButton)
MessageBox.Show(" click ");
// process code here
}
答案 0 :(得分:0)
正如@DonBoitnott所说,使用标准winform MouseDown
或MouseUp
事件捕获鼠标点击次数
喜欢
private void frm_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
// write your code
}
答案 1 :(得分:0)
您想要在当前点击的项目之前捕获之前的值吗?
似乎没有与您相关的鼠标相关事件,但您可以使用事件的组合。由于MouseCLick
事件在ItemCheck
之前触发,因此这样的事情应该有效。
(我假设你的复选框只是一个字符串列表。)
private string previousValue;
private bool isLeftButton;
private void chckListBox_ItemCheck(object sender, ItemCheckEventArgs e)
{
if (isLeftButton)
{
// do something with previousValue;
}
previousValue = Convert.ToString(chckListBox.SelectedItem);
}
private void chckListBox_MouseClick(object sender, MouseEventArgs e)
{
isLeftButton = (e.Button == MouseButtons.Left);
}