列表框滚动

时间:2009-08-31 05:21:29

标签: winforms listbox

当用户选择列表框中的某些项目时,我想禁用滚动(不隐藏滚动条但完全不允许滚动) 如果用户移动到不同的项目(标准不重要),那么我想重新启用滚动 我怎么能在.NET 2.0中执行此操作

1 个答案:

答案 0 :(得分:0)

覆盖ListBox类的CreateParams属性。

public class My : ListBox
{
    protected override CreateParams CreateParams
    {
        get
        {
            CreateParams cp = base.CreateParams;
            cp.Style &= ~0x00200000; // VScroll
            return cp;
        }
    }
}

添加以下代码进行测试,

private void Form1_Load(object sender, EventArgs e)
        {
            My c = new My();
            for (int i = 1; i <= 100; i++){
               c.Items.Add(i.ToString());
            }
            this.Controls.Add(c);
        }