转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
走近VB.NET十四 制作浮动工具条         ★★★★

走近VB.NET十四 制作浮动工具条

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1313 更新时间:2009/4/23 19:01:59

走近VB.NET十四 制作浮动工具条
VB.NET中文网 http://vbnetcn.126.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 工具条”就出来了。我写得太多了,有人要骂我无聊了。

 

 

 

 

 

 



[ORACLE]ORACLE SQL性能优化系列 (十四) 完结篇  
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台