画上下左右方向的箭头
新建控件 CtrArrow

Imports System.Math
Imports System.Drawing
Imports System.Drawing.Image
Public Class CtrArrow
Private mEn As Boolean = False
Private mColorOn As Color = System.Drawing.Color.FromArgb(254, 0, 210, 90) ' 箭头颜色
Private mColorOff As Color = Color.Gray '灰色
Private mDirection As Integer = 1 ' 箭头方向 0123 ==》上下左右
Private mPer As Single = 0.25Public Property ColorON As ColorGetReturn mColorOnEnd GetSet(value As Color)mColorOn = valueEnd Set
End Property
'方向
Public Property Direction As IntegerGetReturn mDirectionEnd GetSet(value As Integer)mDirection = valueEnd Set
End PropertyPublic Property EN As BooleanGetReturn mEnEnd GetSet(value As Boolean)mEn = valueEnd Set
End PropertyPublic Sub frmBG_Paint(sender As Object, e As System.Windows.Forms.PaintEventArgs) Handles Me.PaintDim bmp As Bitmap = New Bitmap(10, 10) '大小随意设置的值,后面会变成控件大小Dim g As Graphics = e.Graphicsg.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAliasDim backBrush As SolidBrushDim W As Integer = Me.ClientRectangle.WidthDim H As Integer = Me.ClientRectangle.HeightDim R As Integer = Me.ClientRectangle.RightDim L As Integer = Me.ClientRectangle.LeftDim B As Integer = Me.ClientRectangle.BottomDim T As Integer = Me.ClientRectangle.TopDim p0 As Point = Me.ClientRectangle.Location '标题栏渐变起点Dim p1, p2, p3, p4 As PointDim s1 As SizeDim points As Point()If mEn ThenbackBrush = New SolidBrush(mColorOn)ElsebackBrush = New SolidBrush(mColorOff)End IfSelect Case mDirectionCase 0'上p1 = New Point(W / 3, W - 1)s1 = New Size(W / 3, H - W)g.FillRectangle(backBrush, New Rectangle(p1, s1))p2 = New Point(L, W)p3 = New Point(R, W)p4 = New Point(W / 2, T)points = {p2, p3, p4}g.FillPolygon(backBrush, points)Case 1'下p1 = New Point(W / 3, T)s1 = New Size(W / 3, H - W + 1)g.FillRectangle(backBrush, New Rectangle(p1, s1))p2 = New Point(L, B - W)p3 = New Point(R, B - W)p4 = New Point(W / 2, B)points = {p2, p3, p4}g.FillPolygon(backBrush, points)Case 2'左p1 = New Point(H - 1, H / 3)s1 = New Size(W - H + 1, H / 3)g.FillRectangle(backBrush, New Rectangle(p1, s1))p4 = New Point(L, H / 2)p2 = New Point(H, T)p3 = New Point(H, B)points = {p2, p3, p4}g.FillPolygon(backBrush, points)Case 3'下p1 = New Point(L, H / 3)s1 = New Size(W - H + 1, H / 3)g.FillRectangle(backBrush, New Rectangle(p1, s1))p4 = New Point(W, H / 2)p2 = New Point(W - H, T)p3 = New Point(W - H, B)           points = {p2, p3, p4}g.FillPolygon(backBrush, points)Case ElseDebug.WriteLine("Not between 1 and 10, inclusive")End Selectg.DrawImage(bmp, Me.ClientRectangle.Location)
End Sub
End Class

箭身三分之一控件宽度,箭头以控件宽为边的正方形为限,

vb.net画上下左右方向的箭头相关推荐

  1. cad多段线画圆弧方向_CAD箭头怎么画

    CAD箭头怎么画 问:CAD箭头怎么画? 答:想要回答CAD箭头怎么画这个问题,得先从CAD多段线命令说起,画箭只是多段线的一种应用. 执行CAD多段线命令的三种方式 1.单击菜单栏上的"绘 ...

  2. 计算机工程制图箭头怎么画,AutoCAD制图时怎么画剖视的箭头 AutoCAD箭头画法教程...

    AutoCAD是图形设计中经常会用到的制图软件,在工程制图.机械制图.电气设计等等领域经常会遇到剖视图的绘制问题,箭头的绘制是其中较为麻烦的一种元素,但是又经常性用到,还要划分直线箭头和弧线箭头,不少 ...

  3. 【0909】unity作业:2d箭头跟随指引物体方向,箭头始终在屏幕内。

    [0909]unity作业:2d箭头跟随指引物体方向,箭头始终在屏幕内. 第一步:对需要用到的箭头进行抠图: 上课老师说用Sprite Editor.不过那个,好像是用来切片的,不能抠图-参考了一篇文 ...

  4. Matlab画圆方向图,如何在matlab里画天线的立体方向图?

    如何在matlab里画天线的立体方向图?有没有具体的函数? 有的,你看下一般的matlab教程里都有着方面的介绍,查一下就可以了 有数据,Matlab可以画 归根到底,画极坐标方向图是坐标变换的问题. ...

  5. 东南西北十字图_word画东南西北方向图标 怎么在Word里绘制方向十字图标

    如果你使用的是2007版的话,可以在插入选项中找到插入图形选项,里面有一个箭头总汇,选择你所需要的就行了!如果是2003版的话,也可以在插入选项中找到图形,里面也有这一项! 怎么样在word07文档里 ...

  6. 如何使用Graphics2D在一张图片上画线(包括箭头)

    有这样一个需求,在一张图片上画几条线并保存,如图所示: 已知各个点的x,y坐标,坐标范围是[0.000,1],即将横纵方向分成1000份. 我们可以使用java.awt.Graphics2D的库来实现 ...

  7. cad多段线画圆弧方向_(cad多段线画圆弧方向)在cad中如何使用excel画样条曲线

    在cad中如何使用excel画样条曲线 AutoCAD本身没有提供函数曲线的绘制功能,不能直接利AutoCAD绘制函数曲线,但借助其他工具也能绘制,常用的方法有3种,第一种,借助其他能绘制函数曲线的C ...

  8. css画横线箭头_css 画带边框的箭头的问题

    我圈调直年情,量的单框来离理这接法清都的为想要用css画一个如下图的箭需朋朋支带不新器功几的事上为做的和时意后头,带边框 思路很简单,用一个带坐上下边框的长方形,拼一个灰色的三角形,然后在用一个白色的 ...

  9. Android 自定义RadioButton 实现文字上下左右方向的图片大小设置

    好久没有更新博客,写这篇技术时,感觉很多东西生疏了好多.于是心有感慨:我们做技术的,要是长时间不搞技术,那就是被技术搞!所以攻守之间,大家谨慎思量. 冬天已过,放假出去玩耍时,看到两旁嫩嫩的树叶,想起 ...

最新文章

  1. 如何用RNN生成莎士比亚风格的句子?(文末赠书)
  2. [RGEOS]空间拓扑关系
  3. .Net Core使用视图组件(ViewComponent)封装表单文本框控件
  4. linux遍历文件夹下所有文件大小,Linux系统遍历文件夹 获取文件大小的操作(C语言实现)...
  5. 朴素贝叶斯法(二)——基本方法
  6. jquery实现在元素外单击,隐藏此元素
  7. matlab训练神经网络模型并导入simulink详细步骤
  8. improve php,解析提高PHP执行效率
  9. ANE的开发需求一般太少,这个静态库如何包含第三方
  10. 支付宝支付 - 异步通知与同步通知
  11. JDK 14的新特性:更加好用的NullPointerExceptions
  12. 分享Web应用运行的细节问题:预编译提高网站性能、跟踪用户习惯和解决线程同步...
  13. __attribute__ 详解
  14. python的程序格式框架_关于Python程序格式框架的描述,以下选项中错误的是
  15. 如何提高大数据分析的效果
  16. I2S原理分析(二十九)
  17. 1047 : 对数表
  18. Oralce数据库计算工作日(处理假期及加班)
  19. 从zookeeper官方文档系统学习zookeeper
  20. 微信公众平台模版消息

热门文章

  1. 数据库的实例化操作——员工信息的查询——简单表查询(二)
  2. 微软认知服务的使用 – 漫画翻译
  3. Win10系统程序以管理员身份开机自启动配置
  4. 电脑键盘各键名称及功能是什么
  5. 《娱乐至死》读书笔记(part1)--深入一种文化的最有效途径是了解这种文化中用于会话的工具
  6. flutter添加水印、添加自定义水印、禁止截屏(Android)
  7. cpu和gpu各自的作用
  8. 网络安全风险评估关键技术讨论
  9. 炼数成金数据分析课程---13、回归分析
  10. JWT 做 token 签发