解决方案 »

  1.   

    这个是我写的Dev的GridView的控制
    [code=charp]  private void gridView1_MouseWheel(object sender, MouseEventArgs e)
            {
                DevExpress.XtraGrid.Views.Grid.GridView view = sender as DevExpress.XtraGrid.Views.Grid.GridView;
                if (view.FocusedColumn != null)
                {
                    var current = view.GetRow(view.FocusedRowHandle);
                    if (current == null)
                        view.CloseEditor();                var field = view.FocusedColumn.FieldName;
                    var orgianlValue = WinUtils.GetValue(current, field);
                    if (view.ActiveEditor != null)
                        view.Tag = view.ActiveEditor.EditValue;
                    view.SetRowCellValue(view.FocusedRowHandle, field, orgianlValue);
                    //if (e.Delta < 0)
                    view.TopRowIndex = gridView1.TopRowIndex - e.Delta;
                    //else if (e.Delta > 0)
                    //    view.TopRowIndex = gridView1.TopRowIndex - 1;
                    view.ShowEditor();
                    if (view.ActiveEditor != null)
                        view.ActiveEditor.EditValue = view.Tag;
                    DevExpress.Utils.DXMouseEventArgs.GetMouseArgs(e).Handled = true;
                }
            }[/code]
      

  2.   

    首先,TreeView没有内置的滚动事件;你之所以看到滚动效果,是TreeView的容器控件(比如Panel、Group等)的滚动事件。
    所以,你的思考方向是:怎么控制容器控件(比如说Panel)的滚动尺寸。
      

  3.   

    设置Panel.VerticalScroll.SmallChange属性,可以控制滚动的尺寸。
      

  4.   


    TreeView的容器控件是这个吗?[BrowsableAttribute(false)]
    public IContainer Container { get; }我调试了一下,发现返回null。
      

  5.   

    你把TreeView放在一个Panel里,然后设置Panel的VerticalScroll.SmallChange属性