扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
VB.NET里用GDI+画指示灯其实很简单,稍微查一点资料就能找到gdi+语句的用法的。用GDI+可以画很多种图形,圆形半圆形自然不在话下。如果有很多指示灯在一起的话,改起来也很方便。
我们注重客户提出的每个要求,我们充分考虑每一个细节,我们积极的做好成都网站设计、成都网站制作服务,我们努力开拓更好的视野,通过不懈的努力,成都创新互联赢得了业内的良好声誉,这一切,也不断的激励着我们更好的服务客户。 主要业务:网站建设,网站制作,网站设计,小程序设计,网站开发,技术开发实力,DIV+CSS,PHP及ASP,ASP.Net,SQL数据库的技术开发工程师。
当然如果嫌GDI+麻烦可以用label控件,把autosize关掉,将尺寸调小一点,然后利用backcolor调背景颜色作为指示灯,只不过是方形的。
如果指示灯很多而且频繁换颜色的话建议用GDI+,因为GDI+效率高一些
应改成
Label4.ForeColor = Color.FromArgb(255, 255, 255, 255)
RGB函数是这样的
Public Function RGB(Red As Integer, Green As Integer, Blue As Integer) As Integer
它返回一个Integer不是Color结构
应该用Color.FromArgb
Public Shared Function FromArgb(alpha As Integer, red As Integer, green As Integer, blue As Integer) As System.Drawing.Color
实在不难,就是不知道你写了代码没有?
答案补充:
Dim xuhao As Integer
Const wenjianjia = "" '自己写好了
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer()
xuhao = xuhao + 1
If xuhao = 4 Then xuhao = 1
Picture1.Picture = LoadPicture(wenjianjia "\" xuhao ".ico")
End Sub
您好,这种方法可以通过按钮的MouseDown和MouseUp事件来实现,比如说,当单击按钮RedColor(RedColor为这个按钮的Name属性的属性值)的时候,要使按钮的颜色变成红色,这可以在代码视图中的控件选择下拉列表中选择RedColor这个控件,然后在右边的事件下拉列表中选择MouseDown事件(当按下鼠标时发生),这时,Visual Studio会自动生成如下代码:
Private Sub RedColor_MouseDown(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles RedColor.MouseDown
End Sub
接下来就在当前生成的代码中写入如下代码:
RedColor.BackColor = Color.FromArgb(255, 0, 0)
这句代码的作用是利用Color下的FromArgb方法来设置RGB颜色参数,在RGB颜色系统中,R代表红色,G代表绿色,B代表蓝色,根据这三种颜色的不同程度的调和,就会得到不同的颜色,如果您要得到深色的天蓝色,则可以设置FromArgb(0, 191, 255),这个颜色转换为HTML中的RGB颜色就是#00BFFF。
当然颜色还原最好是写在MouseUp事件里面,这样就不必在单击其他按钮时来还原上一次按下的按钮的颜色,在这里,为了方便描述,我们假设按钮的默认颜色为白色,也就是FromArgb方法设置为FromArgb(255, 255, 255)的时候,所标示的颜色就是白色
所以选择了RedColor按钮的MouseUp事件后,Visual Studio会自动生成下列代码:
Private Sub RedColor_MouseUp(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles RedColor.MouseUp
End Sub
MouseUp的含义是当鼠标弹起时发生,所以在这个事件就可以设置按钮颜色的还原,即添加下列代码来实现:
RedColor.BackColor = Color.FromArgb(255, 255, 255)
当然,这就编写好了一个按钮按下时变色,回弹时还原的功能,至于另外一个按钮的功能,这与这个按钮的功能一样,只是代码有一些细微的差别而已,假设这个按钮的Name属性的属性值为BlueColor,相应的代码对应如下:
Private Sub BlueColor_MouseDown(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BlueColor.MouseDown
BlueColor.BackColor = Color.FromArgb(0, 0, 255) '蓝色的FromArgb
End Sub
Private Sub BlueColor_MouseDown(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BlueColor.MouseDown
BlueColor.BackColor = Color.FromArgb(255, 255, 255)
End Sub
另外,为了避免代码的冗余,可以将RedColor和BlueColor的MouseUp事件进行合并,这合并后的代码如下:
Private Sub BlueColor_MouseDown(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BlueColor.MouseDown, RedColor.MouseUp
BlueColor.BackColor = Color.FromArgb(255, 255, 255)
RedColor.BackColor = Color.FromArgb(255, 255, 255)
End Sub
当然,这个你只要分析了控件事件代码的基本结构,一切就一目了然了,控件事件代码的基本结构如下:
[作用域] Sub 事件名([参数列表]) Handles 控件事件1 [, 控件事件2, 控件事件3...]
[事件代码区域]
End Sub
如果此回答对您有帮助,别忘了采纳哦,如果没有解决您的问题,您可以在互联网上寻找更多关于此问题的解决方案,谢谢!
主要是对SerialPort控件的编程和数据库的读取,
在数据库读取方面可以用 DataSet ,BindingSource , TableAdapter 等数据绑定控件,
SerialPort控件的具体读写方法建议你看MSDN,大概是:
Private Sub 关闭和启动串口()
Try
If 串口.IsOpen Then
串口.Close()
End If
串口.Open()
Catch ex As Exception
''''
End Try
End Sub
Private Sub 串口的读与写()
......
Dim 发送字节() As Byte, 返回字节 As Byte
Try
'例如要发送字节: 6D
发送字节 = BitConverter.GetBytes(CByte("H6D"))
串口.Write(发送字节, 0, 1)
......
'例如读串口返回的字节
返回字节 = 串口.ReadByte
Catch ex As Exception
''''
End Try
......
End Sub
'等等
SCON = 0x50; //REN=1允许串行接受状态,串口工作模式1 TMOD|= 0x20; 试下这个程序,PC发什么,它就回送什么,收到数据,点亮P2.0的LED。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流