vb.net 怎么用图片来做自定义的界面或控件?

时间:2021-02-11 18:08:01
vb.net 怎么用图片来做自定义的界面或控件?


当鼠标移过去时显示图片的某部份,点击时又显示某部份,要如果实现呢?

6 个解决方案

#1


在鼠标相关的事件里面处理:显示那个图片,那个图片的那个部分,然后画到窗体上。
类似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




vb.net 怎么用图片来做自定义的界面或控件?

, 使 .
, .

#3


引用 2 楼 xiaolinyouni 的回复:
放一个picturebox,一个imagelist,imagelist放上3个图像

VB.NET code
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Pictur……

处理鼠标事件即可,不要忘了适当的时候引发点击事件。
2楼已经给出了大致的代码,不过不是非得有ImageList,你可以从指定位置加载图片,这样在替换外观(或者叫换肤)的时候更加容易和方便

#4


你是想做类似 有道 界面吧。我之前也在想这个问题,后面没有特别去研究。

#5


是啊!但找不到相关的资料,本人水平又有限!还请大家多多指教!

#6


顶2楼,可以实现。这个办法还算简单。

#1


在鼠标相关的事件里面处理:显示那个图片,那个图片的那个部分,然后画到窗体上。
类似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




vb.net 怎么用图片来做自定义的界面或控件?

, 使 .
, .

#3


引用 2 楼 xiaolinyouni 的回复:
放一个picturebox,一个imagelist,imagelist放上3个图像

VB.NET code
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Pictur……

处理鼠标事件即可,不要忘了适当的时候引发点击事件。
2楼已经给出了大致的代码,不过不是非得有ImageList,你可以从指定位置加载图片,这样在替换外观(或者叫换肤)的时候更加容易和方便

#4


你是想做类似 有道 界面吧。我之前也在想这个问题,后面没有特别去研究。

#5


是啊!但找不到相关的资料,本人水平又有限!还请大家多多指教!

#6


顶2楼,可以实现。这个办法还算简单。