C# 他控制着我,但我没能做到。我将禁用列表框以取消单击任何项目,但我希望仍能使用滚动条(我的朋友:),这是一个很好的答案。看起来您的列表框支持某些编辑功能?如果没有,为什么要禁用它?阻止用户选择某些项目@不,这是一个默认的列表框,只是有时候我会错误地点击一个我
C# 他控制着我,但我没能做到。我将禁用列表框以取消单击任何项目,但我希望仍能使用滚动条(我的朋友:),这是一个很好的答案。看起来您的列表框支持某些编辑功能?如果没有,为什么要禁用它?阻止用户选择某些项目@不,这是一个默认的列表框,只是有时候我会错误地点击一个我,c#,.net,vb.net,winforms,listbox,C#,.net,Vb.net,Winforms,Listbox,他控制着我,但我没能做到。我将禁用列表框以取消单击任何项目,但我希望仍能使用滚动条(我的朋友:),这是一个很好的答案。看起来您的列表框支持某些编辑功能?如果没有,为什么要禁用它?阻止用户选择某些项目@不,这是一个默认的列表框,只是有时候我会错误地点击一个我不会选择的项目,直到后来我才注意到我的错误。这只是一种时尚,当listbox被禁用时,我必须使用滚动条浏览listbox项目(我认为这是一个很好的功能)。很抱歉,我的英文版还不清楚为什么要禁用列表框,我们可以随时解决,一旦禁用,我认为没有办法只
他控制着我,但我没能做到。我将禁用列表框以取消单击任何项目,但我希望仍能使用滚动条(我的朋友:),这是一个很好的答案。看起来您的
列表框
支持某些编辑功能?如果没有,为什么要禁用它?阻止用户选择某些项目@不,这是一个默认的列表框,只是有时候我会错误地点击一个我不会选择的项目,直到后来我才注意到我的错误。这只是一种时尚,当listbox被禁用时,我必须使用滚动条浏览listbox项目(我认为这是一个很好的功能)。很抱歉,我的英文版还不清楚为什么要禁用列表框,我们可以随时解决,一旦禁用,我认为没有办法只启用滚动条,至少禁用状态的滚动条外观很难变为正常状态。@King King我想到了另一种解决方法,可能是管理鼠标单击事件,而不是完全禁用控件,但我没有尝试。我禁用了列表框来取消点击任何项目,但我希望能够继续使用滚动条(我的朋友:),这是一个很好的答案。
public class CustomListBox : ListBox
{
public bool ReadOnly { get; set; }
protected override void WndProc(ref Message m)
{
//WM_LBUTTONDOWN = 0x201
//WM_KEYDOWN = 0x100
if (ReadOnly && (m.Msg == 0x201 || m.Msg == 0x100)) {
Focus();//do this to allow mouse wheeling
return;
}
base.WndProc(ref m);
}
}
customListBox1.ReadOnly = true;