c# listview滚轮事件

滚轮滚动后,this.MouseWheel+=newSystem.Windows.Forms.MouseEventHandler(this.MouseWheel);pub... 滚轮滚动后,

this.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.MouseWheel);

public void MouseWheel(object sender, MouseEventArgs e)
{
目前情况是滚动时滚动列表里的东西还没拉到下面,就执行下面的代码了

希望滚轮-滚动后执行下面代码应该如何。等于是滚轮列表还没变化就执行了。
a();
}

public void a()
{
messagebox("1");
}
展开
 我来答
dkxpsg
2013-05-26 · TA获得超过1628个赞
知道小有建树答主
回答量:592
采纳率:0%
帮助的人:1050万
展开全部

你可以在ListView的项目刷新的时候记录一下第一个可见项目的索引,再次刷新的时候如果索引改变了就是滚动条滚动结束了。

代码如下:

using System; 
using System.Text;
using System.Windows.Forms;

namespace Test
{
    public class ListViewEx : ListView
    {
        private int index = 0;
        public event EventHandler Scroll;
        public ListViewEx()
        {
            this.OwnerDraw = true;
        }

        protected override void OnDrawItem(DrawListViewItemEventArgs e)
        {
            ListViewItem item = this.TopItem;
            if (item != null && item.Index != index)
            {
                index = item.Index;
                if (Scroll != null)
                {
                    Scroll(this, null);
                }
            }
            e.DrawDefault = true;
            base.OnDrawItem(e);
        }

        protected override void OnDrawColumnHeader(DrawListViewColumnHeaderEventArgs e)
        {
            e.DrawDefault = true;
            base.OnDrawColumnHeader(e);
        }

        protected override void OnDrawSubItem(DrawListViewSubItemEventArgs e)
        {
            e.DrawDefault = true;
            base.OnDrawSubItem(e);
        }
    }
}

使用:

        private void Form1_Load(object sender, EventArgs e)
        {
            listViewEx1.Scroll += new EventHandler(listView1_Scroll);
        }
                            
        private void listView1_Scroll(object sender, EventArgs e)
        {
            this.Text = listViewEx1.TopItem.Text;
        }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式