想求一个像qq一样,双击图片,弹出原图片的效果

解决方案 »

  1.   

    Form里放一个图片控件,双击时传递图片信息,然后ShowDialog,大小根据显示的图片来设置即可,类似QQ那样的话,边框自己处理下。
      

  2.   

    初始时显示的是缩略图,Bitmap bt1 = new Bitmap(@"缩略图的文件路径") 对象加载。
    点击后,加载显示为原始图片 bt1  =  Image.FromFile(@"实际文件图片的路径"); 
      

  3.   

    添加个picturebox,图片设置为拉伸,然后双击什么都是设置picturebox的大小会不会可行呢
      

  4.   


            protected override void OnMouseWheel(MouseEventArgs e)
            {
                //do sth...
            } 
      

  5.   

    MouseWheel事件处理。
    这里有个难点就是,当PictureBox不接受MouseWheel事件,建议你用Form做在Form上显示Pic 然后处理Form的
    MouseWheel事件。还有就是 ,这个放大和缩小是按照坐标0,0为原点来做的。这个你想像QQ一样做成按照鼠标当前坐标的话有点难度,我反正没做出来。如果你搞定了,记得给出答案。最讨厌CSDN上提问的人把问题解决之后不给答案 来一句 “问题解决了!” 看到这样的帖子,我真心无语!
      

  6.   

     简单实现,可供参考,没有往深了研究protected override void OnMouseWheel(MouseEventArgs e)
            {
                //判断鼠标是否在图片上
                int a = e.Delta;
                if (a > 0)
                {
                    //向上滚动
                    
                        picICON.Height = Convert.ToInt32(this.picICON.Height + this.picICON.Height * 0.1);
                        picICON.Width = Convert.ToInt32(this.picICON.Width + this.picICON.Width * 0.1);
                      
                }
                else
                {
                    //向下滚动
                  
                        picICON.Height = Convert.ToInt32(this.picICON.Height - this.picICON.Height * 0.1);
                        picICON.Width = Convert.ToInt32(this.picICON.Width - this.picICON.Width * 0.1);
                        c++;              
                }}