大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> NET专区 -> 走近VB.Net(三) 源码详解—运用颜色的初步探讨

走近VB.Net(三) 源码详解—运用颜色的初步探讨

时间: 2021-07-31 作者:daque

走近VB.Net(三) 源码详解—运用颜色的初步探讨 兴建一个工程,介入以次控件1. label控件:label1,label2,labred ,labblue,labgreen2. picturebox控件:picturebox13. button控件:button1树立form1的opacity属性为80%,树立通明的窗体在office中抓取一幅取色图片存为bmp方法,并设为picturebox1的backgroundimage,即后台图片option strict off '封闭 strict offimports system.componentmodel '援用族名imports system.drawing '援用族名imports system.winforms '援用族名'底下的例程我将写出十足的族名与子类,是制止大师看得不领会,即使领会了道理,就不妨运用鉴于简略的办法public class form1 inherits system.winforms.form '从system.winforms.form类援用到form1 public pixx, pixy as integer '证明两个32位的变量,用public设置他在类中一切分子间共享 public apr as boolean = false '证明两个32位的变量,用public设置他在类中一切分子间共享并初始化他的值为false public sub new() '兴建一个窗体mybase.new() '挪用 form1 = me '设置me要害字的暂时值为form1 'this call is required by the win form designer. initializecomponent() '在这个底下写的代码同等于vb6的form_ load中所写的代码 call me_load() '你不妨写一个子进程,在这边挪用他,固然你实足不妨写成其余进程名如me_beginform 'todo: add any initialization after the initializecomponent() call end sub 'form overrides dispose to clean up the component list. public overrides sub dispose() '在这个底下写的代码同等于vb6的form_ unload中所写的代码 mybase.dispose() '挪用 components.dispose() 'unload组件 end sub底下一段#region " windows form designer generated code "是不用看的,我十足写在这边是为了您不妨径直粘贴运转#region " windows form designer generated code " 'required by the windows form designer private components as system.componentmodel.container private withevents label2 as system.winforms.label private withevents lab4 as system.winforms.label private withevents lab3 as system.winforms.label private withevents lab2 as system.winforms.label private withevents lbblue as system.winforms.label private withevents lbgreen as system.winforms.label private withevents lbred as system.winforms.label private withevents button1 as system.winforms.button private withevents label1 as system.winforms.label private withevents picturebox1 as system.winforms.picturebox dim withevents form1 as system.winforms.form 'note: the following procedure is required by the windows form designer 'it can be modified using the windows form designer. 'do not modify it using the code editor. private sub initializecomponent() dim resources as system.resources.resourcemanager = new system.resources.resourcemanager(gettype(form1)) me.components = new system.componentmodel.container() me.lbblue = new system.winforms.label() me.lab2 = new system.winforms.label() me.label2 = new system.winforms.label() me.label1 = new system.winforms.label() me.lab3 = new system.winforms.label() me.lbgreen = new system.winforms.label() me.lbred = new system.winforms.label() me.lab4 = new system.winforms.label() me.picturebox1 = new system.winforms.picturebox() me.button1 = new system.winforms.button() '@design me.trayheight = 0 '@design me.traylargeicon = false '@design me.trayautoarrange = true lbblue.location = new system.drawing.point(216, 200) lbblue.size = new system.drawing.size(112, 32) lbblue.borderstyle = system.winforms.borderstyle.fixed3d lbblue.tabindex = 6 lbblue.backcolor = system.drawing.color.blue lab2.location = new system.drawing.point(8, 176) lab2.text = "r=" lab2.size = new system.drawing.size(100, 23) lab2.forecolor = system.drawing.systemcolors.activecaptiontext lab2.font = new system.drawing.font("宋体", 12!, system.drawing.fontstyle.bold) lab2.tabindex = 7 label2.location = new system.drawing.point(248, 8) label2.size = new system.drawing.size(48, 96) label2.borderstyle = system.winforms.borderstyle.fixed3d label2.tabindex = 10 label1.location = new system.drawing.point(192, 80) label1.size = new system.drawing.size(48, 88) label1.borderstyle = system.winforms.borderstyle.fixed3d label1.tabindex = 1 lab3.location = new system.drawing.point(112, 176) lab3.text = "g=" lab3.size = new system.drawing.size(104, 24) lab3.forecolor = system.drawing.systemcolors.activecaptiontext lab3.font = new system.drawing.font("宋体", 12!, system.drawing.fontstyle.bold) lab3.tabindex = 8 lbgreen.location = new system.drawing.point(112, 200) lbgreen.size = new system.drawing.size(104, 32) lbgreen.borderstyle = system.winforms.borderstyle.fixed3d lbgreen.tabindex = 5 lbgreen.backcolor = system.drawing.color.lime lbred.location = new system.drawing.point(8, 200) lbred.size = new system.drawing.size(104, 32) lbred.borderstyle = system.winforms.borderstyle.fixed3d lbred.tabindex = 4 lbred.backcolor = system.drawing.color.red lab4.location = new system.drawing.point(216, 176) lab4.text = "b=" lab4.size = new system.drawing.size(112, 24) lab4.forecolor = system.drawing.systemcolors.activecaptiontext lab4.font = new system.drawing.font("宋体", 12!, system.drawing.fontstyle.bold) lab4.tabindex = 9 picturebox1.cursor = system.drawing.cursors.hand picturebox1.backgroundimage = ctype(resources.getobject("picturebox1.backgroundimage"), system.drawing.image) picturebox1.location = new system.drawing.point(8, 8) picturebox1.size = new system.drawing.size(176, 168) picturebox1.tabindex = 0 picturebox1.tabstop = false button1.location = new system.drawing.point(304, 48) button1.forecolor = system.drawing.systemcolors.controllightlight button1.size = new system.drawing.size(24, 120) button1.tabindex = 2 button1.text = "退出" me.text = "form1" me.autoscalebasesize = new system.drawing.size(6, 14) me.borderstyle = system.winforms.formborderstyle.none me.backcolor = system.drawing.color.black me.clientsize = new system.drawing.size(344, 256) me.opacity = 0.8# me.controls.add(label2) me.controls.add(lab4) me.controls.add(lab3) me.controls.add(lab2) me.controls.add(lbblue) me.controls.add(lbgreen) me.controls.add(lbred) me.controls.add(button1) me.controls.add(label1) me.controls.add(picturebox1) end sub#end region 上头一段#region " windows form designer generated code "是不用看的,我十足写在这边是为了您不妨径直粘贴运转 sub me_load() system.winforms.messagebox.show("欢送运用我的第一个vb.net步调", "微型取色器", messagebox.ok bitor messagebox.iconasterisk) end sub protected sub button1_click(byval sender as object, byval e as system.eventargs) 'sender是发送数据的东西,e是按收参数的东西 end '退出步调 end sub protected sub picturebox1_click(byval sender as object, byval e as system.eventargs) 'sender是发送数据的东西,e是按收参数的东西 if apr = true then system.winforms.messagebox.show("请将鼠标从新移入再次取色", "微型取色器", messagebox.ok bitor messagebox.iconasterisk) apr = true '选定颜色此后,rgb的领会就遏止 label2.backcolor = label1.backcolor '把源颜色传到手段颜色 end sub public function getpixel() as system.drawing.color '这个也是因变量的一个alias dim pm as system.drawing.bitmap '证明一个东西 pm = picturebox1.backgroundimage '树立一个范例(提防前方的option strict off不许少) return pm.getpixel(pixx, pixy) '运用return归来一个值给因变量,这是挪用system.drawing.bitmap类的getpixel因变量 '即使是一个分子进程,不是一个因变量,请用挪用进程的本领挪用,如system.drawing.bitmap类的setpixel进程: 'public sub setpixel(byval x as integer, byval y as integer, byval pcolor as system.drawing.color) 'dim pm as system.drawing.bitmap '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 subend class正文是面向东西的(对于vb。net的初学者),我不保护在鉴于保守的面向东西的表面有误解的场合(我历来没有面向东西过,我也并不是很爱好面向东西,最少再如何面向也面向不出第二个windows来),但这篇作品真实能使入门者(我断定迷惑于此的人不少吧)赶快应用vb.net编出大略的步调,我的贴文是想鼓励更多的人来“偶然多了他(vb。net)”。if即使你是a(sp),b(asic),c(xx),d(elphi),e(xp),f(ox),g(o)的大师 and 是不屑与我等庸手为伍的then 这篇作品简直没有看的需要(动作华夏后备步调员,请包容我有此通病而抱怨很多) else 仍旧,衷心底憧憬您的不惜指教 vb.net华文站网址:http://vbnetcn.126.comend if vb.net华文站即日基础搞好了 示例源步调请到网站 关系载入 200k (4

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.