CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VB.NET

请问如何做图片按钮(VB.net)

楼主anyV()2005-02-25 19:45:31 在 .NET技术 / VB.NET 提问

一张图上有不同的热点,鼠标放上去后图像变化....VB.net  
  知道有imageBotton的控件可用,可是那是web控件,怎么用到windows程序中,谢谢...  
  问题点数:20、回复次数:5Top

1 楼dgz988(雨潇)回复于 2005-02-26 07:37:36 得分 0

不会,只能期待别人来回答。。  
  有一个想法,不知道可不可以实现:就是设置一符图,然后对图的各点的相对坐标来找出来,然后在鼠标事件中来看当前的位置在哪个范围内。。。不过这样好像很麻烦。。Top

2 楼lyj670(空中一只鸟)回复于 2005-02-26 08:27:05 得分 0

我也在关注这个问题,本来我是想用做成网页,再用程序调用,然后再从网页中取出返回参数这样做的,看到你在问,希望也能给我些灵感。Top

3 楼amwicfai(蓬莱病书生)回复于 2005-02-26 08:53:57 得分 0

楼主,以我的理解,你只要在图片上放label控件,然后将text清空,背景设为透明,再捕捉label的鼠标事件,这样行否?Top

4 楼lyj670(空中一只鸟)回复于 2005-02-26 09:37:22 得分 0

我考虑的关键是这个热点可能是不规则的,如果用规则的四方形,则有很多办法可以解决。  
  比如用热点:  
  1   定义热点区域,可以用RECTANGLE  
  2   添加MOUSE_MOVE事件,判断鼠标是否是在RECTANGLE内,如为TRUE则将更必CURSOR为手型.  
  3   添加MOUSE_DOWN事件,MOUSE.BUTTON=LEFT   及鼠标点击坐标是否是区域内,如为TRUE,则处理你想做的事.  
   
  测试代码:  
  Dim   HotPoint   As   New   Rectangle(10,   10,   20,   20)  
   
           
          Private   Sub   PictureBox1_MouseMove(ByVal   sender   As   Object,   ByVal   e   As   System.Windows.Forms.MouseEventArgs)   Handles   PictureBox1.MouseMove  
                  If   e.X   >   HotPoint.X   And   e.X   <   HotPoint.X   +   20   And   e.Y   >   HotPoint.Y   And   e.Y   <   HotPoint.Y   +   20   Then  
                          PictureBox1.Cursor   =   Cursors.Hand  
                  Else  
                          PictureBox1.Cursor   =   Cursors.Default  
                  End   If  
          End   Sub  
   
   
          Private   Sub   PictureBox1_MouseDown(ByVal   sender   As   Object,   ByVal   e   As   System.Windows.Forms.MouseEventArgs)   Handles   PictureBox1.MouseDown  
                  If   e.Button   =   MouseButtons.Left   And   e.X   >   HotPoint.X   And   e.X   <   HotPoint.X   +   20   And   e.Y   >   HotPoint.Y   And   e.Y   <   HotPoint.Y   +   20   Then  
                          MessageBox.Show("You   clicked   hotpoint")  
                  End   If  
          End   Sub  
   
  Rectangle是一个代表矩形的结构类型。有两个构造函数,具体可以看看SDK。如果要定义比较复杂的区域热点,请使用Region类型。  
  定义了一个rectangle后就等于定义了一个热点,因为rectangle中包含一个坐标信息,和一个大小信息,通过这两个信息可以算出Rectangle的四个点的坐标,在Mouse_Move和Mouse_down事件中判断一下鼠标位置是否在四个点的范围中即可。Top

5 楼ysh9922(煦)回复于 2005-02-26 13:23:42 得分 20

studyTop

相关问题

  • 按钮图片
  • 图片按钮
  • 如何在vb的按钮(Button)控件显示一幅图片
  • VB脚本中,用图片代替提交按钮的问题。
  • 求按钮图片
  • 关于图片按钮
  • 图片按钮的提交
  • 图片按钮提交
  • 50分求图片按钮~~~
  • 图片按钮问题

关键词

  • vb.net
  • 鼠标
  • 控件
  • hotpoint
  • 热点
  • 事件
  • rectangle
  • mouse
  • 图
  • and e

得分解答快速导航

  • 帖主:anyV
  • ysh9922

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo