我找了一下CSDN,当List的滚动时需要WndProc的事件。但是由于最近工期紧张,没时间做那么多的研究了。我把我的需求说一下,求一段代码完成这个操作。我有2个ListView,左边和右边的。大小都相同。当我滚动其中一个的垂直滚动条的时候,另外一个也滚动到相应的位置。不知道好实现不?

解决方案 »

  1.   

    这位,哪里有?我只看到有个VB.Net的代码
      

  2.   

    lz,ListView没有处理滚动的Scrolling事件啊
      

  3.   

    lz: 终于找到办法啦,用虚模式来解决。可是花了我两三个小时啊:1、设置虚模式:
            private ArrayList arr = new ArrayList();//用来存储要显示的行数据
            public Form20()
            {
                InitializeComponent();
                listView1.VirtualMode = true;       //设置虚模式
                listView2.VirtualMode = true;
                listView1.VirtualListSize = 20;     //设置显示大小,根据需要你自己改变
                listView2.VirtualListSize = 20;
            }
    2、初始化值:
    private void Form20_Load(object sender, EventArgs e)
            {
                string[] s = new string[5];
                for (int i = 0; i < 40; i++)
                {
                    s[0] = "ddd";
                    s[1] = "33";
                    s[2] = "sdfsdfsd";
                    s[3] = "56536456";
                    s[4] = "56536456";
                    ListViewItem item = new ListViewItem(s);
                    arr.Add(item);
                    //listView1.Items.Add(item);//不能在此添加
                    //listView2.Items.Add(item);//不能在此添加
                }
            }
    3、事件响应:
            private void listView1_CacheVirtualItems(object sender, CacheVirtualItemsEventArgs e)
            {//关键是这个事件
                listView2.EnsureVisible(e.EndIndex);
            }        private void listView1_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e)
            {
                e.Item = (ListViewItem)arr[e.ItemIndex];
                //每次显示项,根据VirtualListSize 的值而变化
            }        private void listView2_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e)
            {
                e.Item =(ListViewItem)arr[e.ItemIndex];
            }
      

  4.   

    To sdl2005lyx() :Virtual特征是.net2.0中UI最重要的改进之一。我要的是1.1下的方法。不过还是要感谢你。我用SendMessage, wndProc实现,对于ListBox效果很好,但是对于ListView有些问题。看来还得继续研究。