比如现在我有个picturebox1 里面放了张图 让后我想实现类似于图像查看器里放大镜的功能:就是说我做个button控件 然后点击后 鼠标移到这个picturebox1的范围内变成另一个图标(放大镜) 然后根据鼠标在不同位置的点击 放大不同范围的图像至全picturebox1的显示范围 
其中几个细节不知如何实现:1.怎么让鼠标在picturebox1上的时候变成放大镜图像2.怎么读取鼠标点击在picturebox1上的坐标位置 作为选取放大范围的依据3.实现点一次放大一倍点2次再放大一倍点第3次还原的方法我初学c#用来做毕设 很多对象的属性和方法不了解 不知道从何用起 跪求提示或简单的示例代码 谢了

解决方案 »

  1.   

    可以用CSS
    http://www.rcgzs.cn/filerun/css/css_0013.htm
      

  2.   

    sorry,上面是webform的~
    Winform的网上再找找
      

  3.   

    1、可以用GDI+画一下,在MOUSEHower事件里面调用。在MouseLeave事件里面还原图片大小
    定义一个Rectange 做好长宽,以及左顶点new rectange(0,0,100,100)表示100*100的正方形
    gr.drawImage(image,rectange)在指定的方框类画图象
    2、在MouseClick事件里MouseEventArgs e中[e.x,e.y]就为鼠标点机的坐标
    3、你可以放大rectange
      

  4.   

    问题1:在picture1的mousemouse事件中更改鼠标状态:this.cursor = ...
    Cursor cur = new Cursor(string);string为一个ico文件
      

  5.   

    问题2、3:这个点很容易获得,在mouseclick中就有,这里放大可能要定义一个rectangle,用来作为放大的程度
      

  6.   

    谢谢 楼上几位 提示 挺详细  orz
    我摸索下 没问题就来散分了
      

  7.   

    放大的方面还有点问题 我要的效果是:比如将原图左上角1/4的图放大填充至全图 这个drawimage好像实现不了啊?还有什么方法能实现的嘛 求提示