• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    走近VB.NET十四制作浮動工具條

    發布: 2007-5-25 09:21 | 作者: hejianzhong | 來源: 互聯網 | 查看: 56次 | 進入軟件測試論壇討論

    領測軟件測試網

    走近VB.NET十四 制作浮動工具條
    VB.NET中文網 http://www.yescnet.com

    VB.NET中文網是新浪論壇看來的,一個網友把VB.NET中文站叫成了VB.NET中文網,我一想不錯,比較大方,不如改了,好,切入正題:

    如下圖添加按鈕:

    如下圖添加按鈕

    一共添加6個,text分另為“1”“2”“3”“4”“5”“6”

    雙擊toolbar,寫代碼如下:

    Protected Sub ToolBar1_ButtonClick(ByVal sender As Object, ByVal e As System.WinForms.ToolBarButtonClickEventArgs)
    Select Case e.button.Text
    Case "1"
    msgbox("ToolBarButton1", , "測試")
    Case "2"
    msgbox("ToolBarButton2", , "測試")
    Case "3"
    msgbox("ToolBarButton3", , "測試")
    Case "4"
    msgbox("ToolBarButton4", , "測試")
    Case "5"
    msgbox("ToolBarButton5", , "測試")
    Case "6"
    msgbox("ToolBarButton6", , "測試")
    End Select
    End Sub

    是不是太簡單了,再來一個“狠”的。

    Public Sub New()
    MyBase.New
    Form1 = Me
    InitializeComponent()
    Me.Height = toolbar1.Height'窗體只有一個toolbar那么大
    me.Width=toolbar1.Width
    Me.Top = 0 '在屏幕的最頂出現
    formheight = Me.Height
    End Sub

    這是什么?你應該知道吧,再來:
    Public Sub ToolBar1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ToolBar1.MouseLeave
    Me.Height = 3 '鼠標離開縮小
    End Sub
    Public Sub ToolBar1_MouseMove(ByVal sender As Object, ByVal e As System.WinForms.MouseEventArgs) Handles ToolBar1.MouseMove
    Me.Height = toolbar1.Height '鼠標上去恢復
    End Sub

    以上是回答網友提問“VB.NET怎樣使用toolbar控件”

    下面我們接著用別外的方法,現在用label,label是什么,就是VB6的label加image了,就這樣理解吧:

    首先在屬性欄設置BorderStyle為none,并在BackgroundImage中添加背景圖片(GIF格式)

    我弄不到好的圖片,hei.就把我的網頁上的按鈕搗下來了。再用photoshop整得慘不忍睹。

    然后清加skinform的模塊:

     

    '###################################################################################################################
    '!!!0001!!!04!!!26!!!!!!
    '建議不要修改此模塊 以免產生不必要的錯誤(此代碼已相當完美) 如欲修改請先備份 _______VB.Net中文站 hejianzhong
    '此模塊可真接粘貼到您的程序中使用。
    '不要刪除此信息
    '!!!0001!!!04!!!26!!!!!!
    Public Module SKin
    Public Rect1 As New Rectangle(0, 0, 0, 0)
    Public Region1, reg2, reg3, reg4, reg5, reg6 As New System.Drawing.Region(Rect1)
    Public Sub SkinRegion(ByVal SKform As Form, Optional ByVal skinNaSKform As String = Nothing)
    Dim X, Y, transPix, opaciPix, BgWidth, BgHeight As Integer
    Dim rect2 As New Rectangle()
    Dim FirARGB As Integer = getpixel(SKform, 1, 1)
    Dim Region1 As New System.Drawing.Region(Rect1)
    Rect1 = Nothing
    'SKform.Visible = False
    If skinnaSKform <> Nothing Then SKform.BackgroundImage = SKform.BackgroundImage.FromFile(System.WinForms.Application.StartUpPath & "\" & skinNaSKform & ".gif")
    BgWidth = SKform.BackgroundImage.Width
    BgHeight = SKform.BackgroundImage.Height
    SKform.Height = BgHeight
    SKform.Width = BgWidth
    For Y = 1 To BgHeight - 1 '這里參考了VB6中的掃描方法,請參考相關資料
    X = 0
    Do
    X = X + 1
    While (getpixel(SKform, X, Y) = FirARGB) And (X < BgWidth)
    X = X + 1
    End While
    transPix = X
    While (getpixel(SKform, X, Y) <> FirARGB) And (X < BgWidth)
    X = X + 1
    End While
    opaciPix = X - 1
    If transPix <= opaciPix Then
    rect2 = rect2.FromLTRB(transPix - 1, Y - 1, opaciPix, Y)
    Region1.Union(rect2)
    rect2 = Nothing
    End If
    Loop Until X >= BgWidth
    Next Y
    SKform.Region = Region1
    'SKform.Refresh()
    'SKform.Visible = True
    End Sub
    Private Function Getpixel(ByVal SKform As Form, ByVal x As Integer, ByVal y As Integer) As Integer
    Dim pm As Bitmap = SKform.BackgroundImage
    Try
    Return pm.GetPixel(x, y).ToARGB
    Catch
    Exit Function
    End Try
    End Function
    End Module
    '###################################################################################################################

    雙擊窗體寫入代碼:

    New是對象構造方法,新建一個實例對象。否則定義的類即不可用。

    Public Sub New()
    MyBase.NewForm1 = Me
    InitializeComponent()
    Call SkinRegion(form1) '為窗體改變skin(外觀)
    End Sub

    首先在窗體上放四個label。label1放在具條上適當的位置,text設為"",backcolor(背景色)在屬性欄的彈出對話框上點“web”

    標簽,選出第一個"transparent"的透明色

    在toolbar外面放label2,label3,label4屬性無所謂,反正是看不見的。

    然后分別設置image屬性.label1放平面的按鈕,而label2放彈起的按鈕,label3放按下的按鈕,label4放平面的按鈕如圖

    開始寫代碼了:

    首先要使窗體可以在屏幕上被拖動,這個在前面文章有的,拷一個過來:

    '下面是移動窗體的代碼,請參考前面的文章
    Private Sub Form1_MouseDown(ByVal eventSender As System.Object, ByVal eventArgs As System.WinForms.MouseEventArgs)
    Me.Capture = False '釋放鼠標捕獲
    Me.SendMessage(&HA1S, 2, 0) '這是VB6中最有名的API消息函數
    End Sub

    開始寫按鈕效果:

    Public Sub Label1_MouseDown(ByVal sender As Object, ByVal e As System.WinForms.MouseEventArgs) Handles Label1.MouseDown
    label1.Image = label3.Image '按下時用按下的按鈕圖片
    End Sub
    Public Sub Label1_MouseUp(ByVal sender As Object, ByVal e As System.WinForms.MouseEventArgs) Handles Label1.MouseUp
    label1.Image = label2.Image '彈起時用彈起的圖片
    Me.Dispose() '“消滅”這個對象
    End '這是退出了
    End Sub

    Public Sub Label1_MouseMove(ByVal sender As Object, ByVal e As System.WinForms.MouseEventArgs) Handles Label1.MouseMove
    label1.Image = label2.Image '立體了
    End Sub
    Public Sub Label1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label1.MouseLeave
    label1.Image = label4.Image '平面了
    End Sub

    其實這是一個示例,你用imagelist就行了,不知道怎么用?在網上的搜索打“VB 工具條”就出來了。我寫得太多了,有人要罵我無聊了。

     

     

     

     

     

     


    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>