以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 放大图片 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=118633) |
-- 作者:刘林 -- 发布时间:2018/5/7 19:00:00 -- 放大图片 请问老师,如何在窗口的picturebox里放一个图片,当滚动鼠标时实现缩放,并且鼠标在哪里就在哪里为中心缩放,这该怎么做? |
-- 作者:有点蓝 -- 发布时间:2018/5/7 21:55:00 -- 大概这个样子,细节自己调整一下。不过会有误差 全局代码 Public Sub pictureBox1_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Dim PictureBox1 = sender If e.Delta > 0 Then PictureBox1.Width += 50 PictureBox1.Height += 50 PictureBox1.Top -= e.Y / PictureBox1.Height * 50 PictureBox1.Left -= e.X / PictureBox1.Width * 50 Else PictureBox1.Width -= 50 PictureBox1.Height -= 50 PictureBox1.Top += e.Y / PictureBox1.Height * 50 PictureBox1.Left += e.X / PictureBox1.Width * 50 End If End Sub 窗口放一个图片框,afterload事件 Dim PictureBox1 As System.Windows.Forms.panel = e.Form.Controls("PictureBox1").basecontrol AddHandler PictureBox1.MouseWheel, AddressOf pictureBox1_MouseWheel 图片框MouseEnter事件 e.sender.Select() |
-- 作者:刘林 -- 发布时间:2018/5/7 22:22:00 -- 谢谢,这个好,如何实现拖曳呢?就是可以在窗口内拖动图片到一定的位置 |
-- 作者:有点蓝 -- 发布时间:2018/5/7 22:46:00 -- 参考:http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=82863 |
-- 作者:刘林 -- 发布时间:2018/5/8 14:03:00 -- 老师,二楼如果想双击恢复图片最初大小怎么办写? |
-- 作者:有点蓝 -- 发布时间:2018/5/8 15:04:00 -- 双击事件 Dim PictureBox1 = e.Form.Controls("PictureBox1") PictureBox1.Width =200 PictureBox1.Height =200 PictureBox1.Top = 10 PictureBox1.Left = 10
|