vb.net画上下左右方向的箭头
画上下左右方向的箭头
新建控件 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画上下左右方向的箭头相关推荐
- cad多段线画圆弧方向_CAD箭头怎么画
CAD箭头怎么画 问:CAD箭头怎么画? 答:想要回答CAD箭头怎么画这个问题,得先从CAD多段线命令说起,画箭只是多段线的一种应用. 执行CAD多段线命令的三种方式 1.单击菜单栏上的"绘 ...
- 计算机工程制图箭头怎么画,AutoCAD制图时怎么画剖视的箭头 AutoCAD箭头画法教程...
AutoCAD是图形设计中经常会用到的制图软件,在工程制图.机械制图.电气设计等等领域经常会遇到剖视图的绘制问题,箭头的绘制是其中较为麻烦的一种元素,但是又经常性用到,还要划分直线箭头和弧线箭头,不少 ...
- 【0909】unity作业:2d箭头跟随指引物体方向,箭头始终在屏幕内。
[0909]unity作业:2d箭头跟随指引物体方向,箭头始终在屏幕内. 第一步:对需要用到的箭头进行抠图: 上课老师说用Sprite Editor.不过那个,好像是用来切片的,不能抠图-参考了一篇文 ...
- Matlab画圆方向图,如何在matlab里画天线的立体方向图?
如何在matlab里画天线的立体方向图?有没有具体的函数? 有的,你看下一般的matlab教程里都有着方面的介绍,查一下就可以了 有数据,Matlab可以画 归根到底,画极坐标方向图是坐标变换的问题. ...
- 东南西北十字图_word画东南西北方向图标 怎么在Word里绘制方向十字图标
如果你使用的是2007版的话,可以在插入选项中找到插入图形选项,里面有一个箭头总汇,选择你所需要的就行了!如果是2003版的话,也可以在插入选项中找到图形,里面也有这一项! 怎么样在word07文档里 ...
- 如何使用Graphics2D在一张图片上画线(包括箭头)
有这样一个需求,在一张图片上画几条线并保存,如图所示: 已知各个点的x,y坐标,坐标范围是[0.000,1],即将横纵方向分成1000份. 我们可以使用java.awt.Graphics2D的库来实现 ...
- cad多段线画圆弧方向_(cad多段线画圆弧方向)在cad中如何使用excel画样条曲线
在cad中如何使用excel画样条曲线 AutoCAD本身没有提供函数曲线的绘制功能,不能直接利AutoCAD绘制函数曲线,但借助其他工具也能绘制,常用的方法有3种,第一种,借助其他能绘制函数曲线的C ...
- css画横线箭头_css 画带边框的箭头的问题
我圈调直年情,量的单框来离理这接法清都的为想要用css画一个如下图的箭需朋朋支带不新器功几的事上为做的和时意后头,带边框 思路很简单,用一个带坐上下边框的长方形,拼一个灰色的三角形,然后在用一个白色的 ...
- Android 自定义RadioButton 实现文字上下左右方向的图片大小设置
好久没有更新博客,写这篇技术时,感觉很多东西生疏了好多.于是心有感慨:我们做技术的,要是长时间不搞技术,那就是被技术搞!所以攻守之间,大家谨慎思量. 冬天已过,放假出去玩耍时,看到两旁嫩嫩的树叶,想起 ...
最新文章
- 如何用RNN生成莎士比亚风格的句子?(文末赠书)
- [RGEOS]空间拓扑关系
- .Net Core使用视图组件(ViewComponent)封装表单文本框控件
- linux遍历文件夹下所有文件大小,Linux系统遍历文件夹 获取文件大小的操作(C语言实现)...
- 朴素贝叶斯法(二)——基本方法
- jquery实现在元素外单击,隐藏此元素
- matlab训练神经网络模型并导入simulink详细步骤
- improve php,解析提高PHP执行效率
- ANE的开发需求一般太少,这个静态库如何包含第三方
- 支付宝支付 - 异步通知与同步通知
- JDK 14的新特性:更加好用的NullPointerExceptions
- 分享Web应用运行的细节问题:预编译提高网站性能、跟踪用户习惯和解决线程同步...
- __attribute__ 详解
- python的程序格式框架_关于Python程序格式框架的描述,以下选项中错误的是
- 如何提高大数据分析的效果
- I2S原理分析(二十九)
- 1047 : 对数表
- Oralce数据库计算工作日(处理假期及加班)
- 从zookeeper官方文档系统学习zookeeper
- 微信公众平台模版消息