滾輪事件發生一定要激活當前的目標控件,比如目標控件要有焦點,事件本身簡單,就是MouseWheel
下面舉例panel:
PRivate void panelsplit_MouseEnter(object sender, EventArgs e)        {            this.panelsplit.MouseWheel += new MouseEventHandler(panelsplit_MouseWheel);            this.panelsplit.Focus();        }        private void panelsplit_MouseLeave(object sender, EventArgs e)        {            this.panelsplit.MouseWheel -= new MouseEventHandler(panelsplit_MouseWheel);         }        private int sumcount = 0;        private int spacing = 60; //線條間距        private void panelsplit_MouseWheel(object sender, MouseEventArgs e)        {            sumcount += e.Delta; //負的放大,正的縮小            int newsp = sumcount / 120 + spacing;            AddMsg(newsp);            //...            panelsplit.Refresh();            panelsplit.Invalidate();            panelsplit.Update();        }private void AddMsg(object msg)        {            bool scroll = false;            if (this.listBox1.TopIndex == this.listBox1.Items.Count - (int)(this.listBox1.Height / this.listBox1.ItemHeight))                scroll = true;            this.listBox1.Items.Add(msg);            if (scroll)                this.listBox1.TopIndex = this.listBox1.Items.Count - (int)(this.listBox1.Height / this.listBox1.ItemHeight);            this.listBox1.SelectedIndex = this.listBox1.Items.Count - 1;        }鼠標在控件上時響應滾動,移出的之后刪除事件不響應,代碼只是demo,具體看自己的設計了
新聞熱點
疑難解答