滾輪事件發(fā)生一定要激活當(dāng)前的目標(biāo)控件,比如目標(biāo)控件要有焦點(diǎn),事件本身簡(jiǎn)單,就是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; //負(fù)的放大,正的縮小 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; }鼠標(biāo)在控件上時(shí)響應(yīng)滾動(dòng),移出的之后刪除事件不響應(yīng),代碼只是demo,具體看自己的設(shè)計(jì)了
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注