C#中鼠标滚动控制滚动条滚动

来源:互联网 发布:太空地图软件 编辑:程序博客网 时间:2024/04/24 21:52

自已写了一个DataGrid,结果鼠标滚动,DataGrid记录不动太麻烦

其实很简单,只是为自写的DataGrid加一个MouseWheel【在鼠标滚动轮移动并且控制获取焦点时发生】

1.简单的控制,当鼠标滚动滚动时DataGrid滚动条移动

Load事件中增加鼠标滚动事件

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

事件有了,现在对事件进行处理

private void dataGridView1_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e)
        {
            dataGridView1.Focus();   
            SendKeys.Send(e.Delta.ToString());     

            // SendKeys.Send("^{End}");             //这句代码是设置滚动条直接到最底

                其中的{End}这个是不是很熟悉,没错就是键盘上的到未尾的键
                可以相应的换成{Home}记录第一行,{PgUp}上一记录,{PgDn}下一记录             
        }

 

2.鼠标滚动控制图片大小

Load事件里

pictureBox1.ImageLocation = "E://1.jpg";

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

private void dataGridView1_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e)
        {

            System.Drawing.Size t = pictureBox1.Size;  
            t.Width += e.Delta;
            t.Height += e.Delta;
            pictureBox1.Width = t.Width;
            pictureBox1.Height = t.Height;
        }
这就是一个简单的鼠标滚动控制图片大小了,更多的功能的可以自己去增加