|
''''PM = PictureBox1.BackgroundImage ''''pm.SetPixel(X, y, pcolor) ''''End Sub ''''当然这个代码是不能放在函数里面的了!!! End Function Public Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As System.WinForms.MouseEventArgs) Handles PictureBox1.MouseMove Dim PColor As System.Drawing.Color ''''声明一个color类型的变量 Dim strPC As String ''''声明一个String类型的变量 Dim cltmpA, cltmpR, cltmpG, cltmpB As String ''''声明三个String类型的变量 If apr Then Exit Sub ''''给一点时间好取定一个像素 PColor = Getpixel ''''调用了getpixel,你也可以通过使用括号中的参数传第X,Y的值,在这个示例中使用公用变量pixX,pixY LABEL1.BackColor = PColor ''''设定LABEL1控件的背景色 strPC = PColor.ToString ''''tostring是把pcolor从system.drawing.color转为string的数据 pixX = e.X ''''e是参数,也被当作一个对象,e.X是对象的一个成员,指明鼠标的当前坐标X值 pixY = e.Y : LABEL1.BackColor = Getpixel ''''键盘不灵,回车不了,只好打“:”代替分行 cltmpA = strPC.Substring(STRPC.IndexOf("A"), (STRPC.INDEXOF("R") - 2) - STRPC.IndexOf("A")) ''''substring 就替我们sub一部份string,就好象VB6的mid函数,取代left,right函数 CLTMPA = CLTMPA.Substring(CLTMPA.IndexOf("=") + 1, CLTMPA.Length - (CLTMPA.IndexOf("=") + 1)) ''''substring 就替我们sub一部份string,就好象VB6的mid函数,取代left,right函数 ''''取得红色 cltmpR = strPC.Substring(STRPC.IndexOf("R"), (STRPC.INDEXOF("G") - 2) - STRPC.IndexOf("R")) ''''substring 就替我们sub一部份string,就好象VB6的mid函数,取代left,right函数 CLTMPR = CLTMPR.Substring(CLTMPR.IndexOf("=") + 1, CLTMPR.Length - (CLTMPR.IndexOf("=") + 1)) ''''substring 就替我们sub一部份string,就好象VB6的mid函数,取代left,right函数 ''''取得绿色 cltmpG = strPC.Substring(STRPC.IndexOf("G"), (STRPC.INDEXOF("B") - 2) - STRPC.IndexOf("G")) ''''substring 就替我们sub一部份string,就好象VB6的mid函数,取代left,right函数 CLTMPG = CLTMPG.Substring(CLTMPG.IndexOf("=") + 1, CLTMPG.Length - (CLTMPG.IndexOf("=") + 1)) ''''substring 就替我们sub一部份string,就好象VB6的mid函数,取代left,right函数 ''''取得蓝色 cltmpB = strPC.Substring(STRPC.IndexOf("B"), STRPC.Length - STRPC.IndexOf("B") - 1) ''''substring 就替我们sub一部份string,就好象VB6的mid函数,取代left,right函数 CLTMPB = CLTMPB.Substring(CLTMPB.IndexOf("=") + 1, CLTMPB.Length - (CLTMPB.IndexOf("=") + 1)) ''''substring 就替我们sub一部份string,就好象VB6的mid函数,取代left,right函数 lbred.BackColor = System.Drawing.Color.FromARGB(CLTMPA.ToInt32, cltmpR.ToInt32, 0, 0) ''''fromargb就是VB6的RGB一样,只是在第一位多一个阿尔法(alpha)参数 lbgreen.BackColor = System.Drawing.Color.FromARGB(CLTMPA.ToInt32, 0, cltmpG.ToInt32, 0) ''''提取绿色 lbblue.BackColor = System.Drawing.Color.FromARGB(CLTMPA.ToInt32, 0, 0, cltmpB.ToInt32) ''''提取蓝色 LAB2.Text = "R=" & CLTMPA ''''显示R值 LAB3.Text = "G=" & CLTMPG ''''显示G值 LAB4.Text = "B=" & CLTMPB ''''显示B值 End Sub ''''cool啊,拖动是没有边框的 Private Sub Form1_MouseDown(ByVal eventSender As Object, ByVal e As System.WinForms.MouseEventArgs) ''''mousedown的事件中窗体中的下拉列表是找不到的,自己写一个吧,加上(ByVal eventSender As Object, ByVal e As System.WinForms.MouseEventArgs)即可 ''''Me.Capture() = False ''''释放鼠标捕获,等同于API的ReleaseCapture() ''''Me.SendMessage(&HA1S, 2, 0) ''''唔,这个就是哪个sendmessage的API了,只是第一个句柄参数不再用了。 End Sub Public Sub PictureBox1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseLeave apr = False ''''这个很有用的了,就是鼠标离开一个控件时以生的事件,这样的话,做一个动态3D按钮就很方便了 End Sub End Class 本文是面向对象的(对于VB。Net的入门者),我不保证在基于传统的面向对象的理论有曲解的地方(我从来没有面向对象过,我也并不是很喜欢面向对象,起码再怎么面向也面向不出第二个windows来), 但这篇文章确实能使初学者(我相信困惑于此的人不少吧)快速运用VB.Net编出简单的程序, 我的贴文是想激励更多的人来“未必多了他(VB。Net)”。 If 上一页 [1] [2] [3] [4] [5] 下一页 [常用软件]office2000FAQ(三) [常用软件]评测:Gmail Beta(三) [VB.NET程序]把握VB.NET中的流(Stream) (三) [Delphi程序]Integer GUID和Comb做主键的效率测试(Delphi+acce… [网页制作]DreamwaverMX与ASP.NET(三) [其他]让你的应用程序不再对数据库的改动“感冒”(三) [ORACLE]ORACLE SQL性能优化系列 (三) [ORACLE]Oracle & JSP 开发的小型信息管理系统 (三) 源代码… [MySql]MySQL入门学习 三
|