当鼠标移过去时显示图片的某部份,点击时又显示某部份,要如果实现呢?
6 个解决方案
#1
在鼠标相关的事件里面处理:显示那个图片,那个图片的那个部分,然后画到窗体上。
类似Div+css 来处理只用一个图片来做背景,css控制图片的位置等。
类似Div+css 来处理只用一个图片来做背景,css控制图片的位置等。
#2
放一个picturebox,一个imagelist,imagelist放上3个图像
当 自 己 还 不 是 码 农 的 时 候 , 使 劲 朝 着 码 农 的 方 向 走 去 .
当 自 己 还 没 有 年 迈 的 时 候 , 梦 想 总 让 我 充 满 浑 身 力 量 .
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PictureBox1.Image = ImageList1.Images.Item(0)
End Sub
Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
PictureBox1.Image = ImageList1.Images.Item(2)
End Sub
Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
PictureBox1.Image = ImageList1.Images.Item(1)
End Sub
Private Sub PictureBox1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseUp
PictureBox1.Image = ImageList1.Images.Item(0)
End Sub
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
PictureBox1.Image = ImageList1.Images.Item(0)
End Sub
End Class
当 自 己 还 不 是 码 农 的 时 候 , 使 劲 朝 着 码 农 的 方 向 走 去 .
当 自 己 还 没 有 年 迈 的 时 候 , 梦 想 总 让 我 充 满 浑 身 力 量 .
#3
处理鼠标事件即可,不要忘了适当的时候引发点击事件。
2楼已经给出了大致的代码,不过不是非得有ImageList,你可以从指定位置加载图片,这样在替换外观(或者叫换肤)的时候更加容易和方便
#4
你是想做类似 有道 界面吧。我之前也在想这个问题,后面没有特别去研究。
#5
是啊!但找不到相关的资料,本人水平又有限!还请大家多多指教!
#6
顶2楼,可以实现。这个办法还算简单。
#1
在鼠标相关的事件里面处理:显示那个图片,那个图片的那个部分,然后画到窗体上。
类似Div+css 来处理只用一个图片来做背景,css控制图片的位置等。
类似Div+css 来处理只用一个图片来做背景,css控制图片的位置等。
#2
放一个picturebox,一个imagelist,imagelist放上3个图像
当 自 己 还 不 是 码 农 的 时 候 , 使 劲 朝 着 码 农 的 方 向 走 去 .
当 自 己 还 没 有 年 迈 的 时 候 , 梦 想 总 让 我 充 满 浑 身 力 量 .
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PictureBox1.Image = ImageList1.Images.Item(0)
End Sub
Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
PictureBox1.Image = ImageList1.Images.Item(2)
End Sub
Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
PictureBox1.Image = ImageList1.Images.Item(1)
End Sub
Private Sub PictureBox1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseUp
PictureBox1.Image = ImageList1.Images.Item(0)
End Sub
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
PictureBox1.Image = ImageList1.Images.Item(0)
End Sub
End Class
当 自 己 还 不 是 码 农 的 时 候 , 使 劲 朝 着 码 农 的 方 向 走 去 .
当 自 己 还 没 有 年 迈 的 时 候 , 梦 想 总 让 我 充 满 浑 身 力 量 .
#3
处理鼠标事件即可,不要忘了适当的时候引发点击事件。
2楼已经给出了大致的代码,不过不是非得有ImageList,你可以从指定位置加载图片,这样在替换外观(或者叫换肤)的时候更加容易和方便
#4
你是想做类似 有道 界面吧。我之前也在想这个问题,后面没有特别去研究。
#5
是啊!但找不到相关的资料,本人水平又有限!还请大家多多指教!
#6
顶2楼,可以实现。这个办法还算简单。