精华内容
下载资源
问答
  • 内容索引:VB源码,系统相关,多媒体,声音处理 VB声音处理演示程序,包括播放WAV文件、获取WAV文件信息、播放背景音乐、检测系统声音等功能,多媒体编程需要这些技巧。
  • 计算机程序执行的控制流程由三种基本控制结构组成,即:顺序结构,选择结构,循环结构。程序是计算机的灵魂,它也由以上三种结构构成。下面是vb这门语言的结构:

        计算机程序执行的控制流程由三种基本控制结构组成,即:顺序结构,选择结构,循环结构。程序是计算机的灵魂,它也由以上三种结构构成。下面是vb这门语言的结构:

    展开全文
  • 内容索引:VB源码,字符处理,仿Windows,写字板 一款VB文本处理程序,类似Windows系统的写字板程序,实现文本的简单操作:设置字号、颜色、下划线、文字替换、文本框等操作,部分功能还和Word有点像,有个亮点功能就是...
  • vb处理程序

    2019-02-18 11:53:20
    和PLC L连接的上位机,大概40-50点位,用VB写的,可以供学习
  • 用visual studio vb.net编写的数字图像处理程序,含图像处理基础(负片、灰度变换、直方图均衡化、均值中值滤波处理等)、几何变换(对称、旋转、改变图像尺寸)、彩色变换与调色板(调色板处理、指定颜色的调色板、...
  • 摘要:VB源码,其它类别,错误处理 一个简单的VB错误处理程序源代码,任何程序都不可避免的会出现运行错误,出现错误不可怕,可怕的是出错后程序崩溃,这就需要错误处理来为程序错误提供一个台阶,对此还不太熟悉的VB...
  • 描述:VB6 IDE 函数过程错误处理代码自动添加插件(VB6IDE_InsertErrHand_Addin) 安装方法: 1.点击菜单“工程-引用”,选择这个dll 2.然后点击菜单“外接程序-外接程序管理器”,选择“Insert Error Hand”,把右...
  • VB图像处理功能示例源码,里面包括了色彩平衡调整和图像滤镜处理,和PhotoShop中的某些功能很相似,运行用了滑块、色块取色等众多实用的功能,而且通过这个处理程序,你还可以学习到不少的VB图像编程技巧,特此与...
  • 分享VB错误处理

    2019-05-01 13:27:03
    大家知道,即使程序员抱有最好的愿望,而且计划工作做得非常周密,...如果一个过程中包含了编译错误,VB将不执行该过程,并且我们也不能向用户提供带有编译错误的运行期版本应用程序,大多数编译错误是句法错误造成的。
  • 内容索引:VB源码,图形处理,PNG,背景透明 VB编写的程序,用于读取并处理PNG格式的图像,程序有几种示例:设置背景、混合透明、透明、背景色、自身颜色背景、设置背景图片及位置等,可以将背景图片与PNG有效融合在...
  • VB6中的对象事件事件过程(4)

    千次阅读 2020-04-07 20:46:21
    如一个迟到的学生这个对象,当听到上课铃声这个事件,学生这个对象做出的反应,即对事件处理过程就是向教室急跑。 在VB中的对象事件是什么 在VIsualBasice应用程序中,对象事件是由VisualBasic预先定义好的,...

    事件是什么

    事件是指对象能够识别并做出反应的外部刺激。如一个迟到的学生这个对象,当听到上课铃声这个事件,学生这个对象做出的反应,即对事件的处理过程就是向教室急跑。

    在VB中的对象事件是什么

    在VIsual Basice应用程序中,对象事件是由Visual Basic预先定义好的,能够被对象识别和响应的动作。

    分类:

    事件可分为系统事件和用户事件两种

    1、系统事件是由系统或对象自己产生的,如当一个窗体被加载到内存准备显示时, 发生的加载(Load)事件,“定时器时间到”事件等:

    2、用户事件是由用户操作引起的,如鼠标单击(Click)事件、双击(DbIClick) 事件、标移动(ouseMove事件等。

          不同的对象所能识别的事件是不同的,如窗体对象能识别加载(Load) 事件,而其他控件对象就不能识别这个事件。每个事件都有名称,即事件名。事件名也是Visual Basic系统的关键字,不要用作对象名、文件名、变量名等。

    事件驱动机制
     Visual Basic应用程序的运行过程就是对事件的处理过程。程序运行时,由用户、系统或对象产生各种不同的事件,程序设计者已分别为各种不同的事件编写了处理代码程序,窗体和控件等对象在响应不同事件时执行不同的代码程序,这就是Visual Basic事件驱动机制。

    事件过程

    当对窗体和控件对象产生如单击(Click)、 双击(DIClick)、 鼠标移动(MouseMove)等事件时,接受事件的对象就会对事件产生反应,即执行-段程序代码,所执行的这段程序代码就称为事件过程。

    事件过程是一个独立的程序段,是应用程序的重要组成部分。

    在设计一个工程中,当在工程中添加了窗体和控件等对象,并通过属性设置他们的初始属性值之后,就应该编写他们的事件过程。这样在程序运行过程中,各种对象才能对用户的操作做出响应,完成应用程序要实现的功能。



     

    展开全文
  • 内容索引:VB源码,图形处理,图片格式转换,IJL15.DLL VB图片批量转换处理工具源程序代码,可以将BMP转为JPG/GIF,也可以实现这个反过程,转换时可以设定转换品质,自动遍历符合条件的目录,显示转换进度条。这个程序...
  • VB6内 响应鼠标滚轮事件,使用Hook钩子捕捉消息,具体处理过程需要自己编写
  • 内容索引:VB源码,图形处理,图像处理,滤镜 一个与图像处理有关的程序,有许多种图像处理滤镜,可以与PhotoShop媲美,比如模糊、阴影、纹理、对比度调节、亮度调整、转换为黑白图像、夜晚效果等,功能多,代码少是本...
  • 内容索引:VB源码,图形处理,图像处理 VB图像处理功能示例源码,主要是进行图像对比度、透明度、亮度、R/G/B三基色平衡调整等,另外还有不少的内置滤镜,不过程序是英文界面,暂时没有汉化,国外程序有很多值得借鉴的...
  • VB像素渲染工具,应该是一个图形处理程序吧,我也没搞懂,选定好参数,计算机开始慢慢渲染,会生成图像,可以支持128位Z缓冲、深度测试/排序、Alpha混合、环境光、材质、图像过滤、反锯齿等!
  • 基于VB的指纹图像识别处理程序,可对指纹图片进行锐化、平滑处理、轮廓显示、特征对比、特殊显示等处理,以方便指纹的识别工作,如果你用过Photoshop图像处理软件,那么你对这些图像处理功能肯定不会陌生。
  • 内容索引:VB源码,界面编程,进度条,仿Windows 比较传统、经典的VB进度条,界面一老本等,和系统的进度条几乎一模一样,如果你不喜欢花花绿绿的风格,那么这个进度条还是很不错的,毕竟进度条是指示程序运行进度的,...
  • VB写一个可插入图片的文字处理程序,类似于记事本,但比记事本强大,可识别文字格式,比如链接形式,还允许插入图片内容,该程序的设计主要以参考word等著名的文字处理软件的成功经验和使用等方面的技术。...
  • 编程必然要知道事件,比如单击按钮事件,然后编写当事件发生时的处理代码,VB.NET是怎样进行事件处理的呢?可否自定义事件呢?因扩展控件,使其列头增加全选全不选复选框并具备分页功能需要用到自定义事件,详见博文...

    测试环境:windows 7和Microsoft Visual Studio 2015

    编程必然要知道事件,比如单击按钮事件,然后编写当事件发生时的处理代码,VB.NET是怎样进行事件处理的呢?可否自定义事件呢?因扩展控件,使其列头增加全选全不选复选框并具备分页功能需要用到自定义事件,详见博文《VB.NET学习笔记:WinForm自定义DataGridView分页组合控件》、《VB.NET学习笔记:自定义控件之扩展DataGridViewColumnHeaderCell类增加CheckBox全选复选框》,所以拜读了多篇相关事件的博文,结合自己在编程中的使用情况,谈谈我对事件的一些认识。
    一、事件处理——把事件与处理事件的方法关联在一起
    新建一个Windows窗体应用程序项目,在窗体里拉入一个Button控件,将其Name属性值修改为BtnEvent1,Text属性值修改为“按钮1”,然后双击按钮,即可自动生成如下按钮单击事件处理代码:

        Private Sub BtnEvent1_Click(sender As Object, e As EventArgs) Handles BtnEvent1.Click
    
        End Sub
    

    当然也可以在代码窗口里,选择相应的项目名称,及其下相应的控件,就可以选择对应的事件,之后也会自动生成事件处理代码,如下图所示操作。
    添加事件处理过程
    代码比VB6.0里的事件处理代码多了一些内容:
    1、Handles BtnEvent1.Click:表明这个方法应处理BtnEvent1中的Click事件,Handles的目的就是把这个方法与Button类中的Click事件关联起来。
    2、(sender As Object, e As EventArgs) :两个参数sender和e。这是控件类定义的参数,如果参数不对将引发错误。
    参数sender和e到底是个啥呢?我们来测试一下,在事件处理代码中添加如下代码:

        Private Sub BtnEvent1_Click(sender As Object, e As EventArgs) Handles BtnEvent1.Click
            MessageBox.Show(sender.ToString)
            MessageBox.Show(e.ToString)
        End Sub
    

    调试代码,测试结果如图所示:
    sender参数
    e参数
    经在csdn中查询得知:sender参数表示发送者,此处表示按钮。e参数是MouseEventArgs类,继承自EventArgs类,就是将鼠标的动作信息封装在这个类的对象e中。这个对象描述了鼠标点击情况,比如在按钮的那个位置点下了鼠标。我自己也不是很懂,在这里做个记号吧!
    下面代码修改了事件处理的方法名:

    Private Sub Btn1_Click(sender As Object, e As EventArgs) Handles BtnEvent1.Click
            MessageBox.Show(sender.ToString)
            MessageBox.Show(e.ToString)
        End Sub
    

    BtnEvent1_Click修改成了Btn1_Click,如果在VB6.0是没有办法识别这个事件的,单击“按钮1”当然也不会执行此代码。但在vb.net中不影响事件的执行,说明在vb.net中,事件不再依赖方法名。
    我们在窗体中再拉入一个Button控件,将其Name属性值修改为BtnEvent2,Text属性值修改为“按钮2”,然后添加如下按钮单击事件处理代码:

        Private Sub BtnEvent2_Click(sender As Object, e As EventArgs) Handles BtnEvent2.Click
            MessageBox.Show(sender.ToString)
            MessageBox.Show(e.ToString)
        End Sub
    

    BtnEvent2_Click方法里代码与BtnEvent1_Click方法里的代码一模一样,参数也一样,只是关联的事件不同而已,我们可以这两个方法合成一个方法,然后关联到2个事件上:

        Private Sub BtnEvent1_Click(sender As Object, e As EventArgs) Handles BtnEvent1.Click, BtnEvent2.Click
            MessageBox.Show(sender.ToString)
            MessageBox.Show(e.ToString)
        End Sub
    

    Handles关键字可以关联多个事件,用逗号隔开每个事件,每个事件都会导致方法执行。在合并方法时要求每个事件的参数个数及类型必须相同。
    一个方法可以关联多个事件,当然一个事件也是可以引发多个方法。代码如下:

    Private Sub BtnEvent1_Click1(sender As Object, e As EventArgs) Handles BtnEvent1.Click
            Me.Label1.Text = Me.Label1.Text & Environment.NewLine & "方法:BtnEvent1_Click1"
        End Sub
    
        Private Sub BtnEvent1_Click2(sender As Object, e As EventArgs) Handles BtnEvent1.Click
            Me.Label1.Text = Me.Label1.Text & Environment.NewLine & "方法:BtnEvent1_Click2"
        End Sub
    
        Private Sub BtnEvent1_Click3(sender As Object, e As EventArgs) Handles BtnEvent1.Click
            Me.Label1.Text = Me.Label1.Text & Environment.NewLine & "方法:BtnEvent1_Click3"
        End Sub
    

    测试效果如下图所示:
    一个事件引发多个方法
    可见,单击“按钮1”时,每个关联的方法都被执行了。
    除了用Handles关键字关联事件与事件处理方法外,还可以用AddHandler关键字,请看下面代码:

        Private Sub BtnEvent1_Click(sender As Object, e As EventArgs) Handles BtnEvent1.Click
            RemoveHandler TextBox1.TextChanged, AddressOf TextBox1_TextChanged
            Me.TextBox1.Text = sender.ToString
            AddHandler TextBox1.TextChanged, AddressOf TextBox1_TextChanged
        End Sub
    
        Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
            MessageBox.Show("你修改了文本!")
        End Sub
    

    不管是在窗体修改或是编程修改TextBox控件文本都会引发TextChanged事件,上面代码可以先暂停引发该事件,使用到RemoveHandler关键字来把事件跟处理事件的方法分离。

    RemoveHandler TextBox1.TextChanged, AddressOf TextBox1_TextChanged
    

    之后要记得用AddHandler关键字重新将事件TextBox1.TextChanged跟TextBox1_TextChanged方法关联,要不然就真的再不也会引发TextBox控件的TextChanged事件了。

    AddHandler TextBox1.TextChanged, AddressOf TextBox1_TextChanged
    

    学习小结:
    (1)、把事件处理方法和事件关联的方式有两种:
    A、Handles关键字:只要关联某方法后,就会一直关联。我们称其为静态方式。
    B、AddHandler关键字:AddHandler可以在程序运行时动态的添加处理事件的方法,还可以用RemoveHanlder动态地删除处理事件的方法。
    (2)、一个事件可以关联多个方法,一个方法也可以关联多个事件。
    如果事件关联的方法不止一个时,引发事件就会执行全部关联的方法,我们无法干涉和终止,而且也不能预测执行方法的顺序。
    二、自定义事件
    在vb.net中事件可以看成为一种特殊的委托,也就是说可以将sub过程委托给事件,当触发事件时就会执行委托给该事件的sub。
    1、使用自定义事件的步骤
    (1)、声明事件
    事件由委托实现,所以应事先声明一个事件的委托。

        Public Delegate Sub CustomEventHandler(ByVal str As String) '声明一个事件的委托
        Public Event CustomEvent As CustomEventHandler '声明一个自定义事件CustomEvent
    

    也可以用简写,即上述声明等效于:

    Public Event CustomEvent(ByVal str As String) '声明一个自定义事件CustomEvent
    

    注意:声明事件可以带参数,但不能具有返回值、可选参数、ParamArray参数。也就是说不能将function函数委托给事件。
    (2)、触发事件
    使用RaiseEvent关键字来引发事件。
    注意:触发事件时传入的参数必须与声明事件时的参数类型以及个数都要相同。

        Public Sub RaiseCustomEvent(ByVal str As String) '定义触发事件的方法
            RaiseEvent CustomEvent(str) '触发事件
        End Sub
    

    (3)、编写处理事件的Sub方法
    我这里编写的方法名为talk,带一个参数,特别注意的是传入方法的参数必须与声明事件时的参数类型以及个数都要相同。

    Public Sub talk(ByVal str As String)
            Me.TextBox1.Text = str
        End Sub
    

    (4)、把事件和处理事件的方法关联在一起
    可以使用Handles关键字或AddHandler关键字,但使用Handles关键字一定要配合使用WithEvents关键字来声明事件所在的对象,如果不带WithEvents关键字不会报错,但若这个对象真的有事件,也不会引发;当然如果对象本身没有声明的事件,如果强行用WithEvents将会引发语法错误。所以WithEvents和Handles必须成对出现。
    2、WithEvents和Handles关联事件方法
    类代码:

    Public Class ClsCustomEvent '自定义类
        'Public Delegate Sub CustomEventHandler(ByVal str As String) '声明一个事件的委托
        'Public Event CustomEvent As CustomEventHandler '声明一个自定义事件CustomEvent
        Public Event CustomEvent(ByVal str As String) '声明一个自定义事件CustomEvent
        Public Sub RaiseCustomEvent(ByVal str As String) '定义触发事件的方法
            RaiseEvent CustomEvent(str) '触发事件
        End Sub
    End Class
    

    窗体代码:

    Public Class Form1
        Public WithEvents Custom As New ClsCustomEvent() '声明事件对象
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Custom.RaiseCustomEvent("Hello world") '执行ClsCustomEvent类中触发CustomEvent事件的方法
        End Sub
    
        Public Sub talk(ByVal str As String) Handles Custom.CustomEvent '将talk方法委托给ClsCustomEvent类的CustomEvent事件
            Me.TextBox1.Text = str
        End Sub
    End Class
    

    3、AddHandler关联事件方法
    事件所在的类代码:

    Public Class ClsCustomEvent '自定义类
        'Public Delegate Sub CustomEventHandler(ByVal str As String) '声明一个事件的委托
        'Public Event CustomEvent As CustomEventHandler '声明一个自定义事件CustomEvent
        Public Event CustomEvent(ByVal str As String) '声明一个自定义事件CustomEvent
        Public Sub RaiseCustomEvent(ByVal str As String) '定义触发事件的方法
            RaiseEvent CustomEvent(str) '触发事件
        End Sub
    End Class
    

    窗体代码:

    Public Class Form1
        Public Custom As New ClsCustomEvent() '声明事件对象
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            AddHandler Custom.CustomEvent, AddressOf talk '将talk方法委托给ClsCustomEvent类的CustomEvent事件
            Custom.RaiseCustomEvent("Hello world") '执行ClsCustomEvent类中触发CustomEvent事件的方法
        End Sub
    
        Public Sub talk(ByVal str As String)
            Me.TextBox1.Text = str
        End Sub
    End Class
    

    注意: AddHandler与RemoveHandler最好能成对出现,如果不将事件处理程序与事件分离(RemoveHanlder),对象将保留在内存中,即使上面Custom不再指向对象,每个事件仍有对象的一个引用,容易出现内存泄露。而WithEvents会自动处理这些细节。

    本文借鉴与参考了以下博文:
    VB.net学习笔记(七)对象事件的定制
    vb.net中的委托与事件
    学习过程得到网友uruseibest的帮助,表示感谢!

    展开全文
  • 摘要:VB源码,图形处理,陀螺转动,图片旋转 一个基于VB的图像处理程序:陀螺转动演示,让一个小图片旋转起来,看上去像陀螺在转动一样,转动速度非常快。源代码简单,是一个学习VB的小范例。
  • VB字符排版字符处理程序,支持对文字进行简单的排版,全角半角转换、删除空行及回车符、重载文本等。
  • 摘要:VB源码,界面编程,文本框 VB将文本框透明操作处理,这是源代码演示文件,可在VB6.0下编译运行。功能方面先看截图,可看到文本框被透明化,顺着光标你可以在透明的文本框中输入文字,和窗口的背景能完全融合,...
  • 摘要:VB源码,图形处理,图像缩放,仿Photoshop VB功能超多的图像处理控件程序演示,控件为ExtendPictureBox.ocx,仿Photoshop滤镜的众多功能,可以实现DrawRegularPolygon、 DrawStar、DrawDiamond等图形方法,支持...
  • VB声音处理演示程序,包括播放WAV文件、获取WAV文件信息、播放背景音乐、检测系统是否支持声音等功能,多媒体编程需要这些技巧。
  • 数字图像处理的作业程序,里面也借鉴了别处的代码,是大作业,下载的别直接用,按需选用。多谢!
  • VB键盘事件详解

    2021-01-29 19:44:23
    “ 本节课程一起学习VB中的键盘事件。” 键盘事件的作用: 获得键盘输入信息,只有获得焦点的对象才能接受键盘事件。 键盘事件有三种: KeyPress、KeyDown、KeyUp KeyPress: 按了键盘的某键时触发,返回键盘的Ascii...

    “ 本节课程一起学习VB中的键盘事件。”

    键盘事件的作用:
    获得键盘输入信息,只有获得焦点的对象才能接受键盘事件。

    键盘事件有三种:
    KeyPress、KeyDown、KeyUp

    KeyPress:
    按了键盘的某键时触发,返回键盘的Ascii码值
    KeyDown:
    按下键盘的某键触发,返回键盘的直接状态,即该键的"扫瞄码"值
    KeyUp:
    释放键盘的某键触发,返回键盘的直接状态,即该键的"扫瞄码"值

    键盘事件触发顺序

    在按下键盘某键时,三种事件触发顺序是:
    KeyDown → KeyPress → KeyUp

    写个简单的代码来测试一下是不是这样的顺序。如下所示:

    按下键盘任意按键(除功能键)
    在这里插入图片描述

    代码如下:

    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)    
      Print "KeyDown" 
    End Sub
    Private Sub Form_KeyPress(KeyAscii As Integer)    
      Print "KeyPress"
    End Sub
    Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)    
      Print "KeyUp"
    End Sub
    

    当窗体KeyPreview属性设置为True时,则首先触发窗体的键盘事件。

    键盘事件优先于控件事件发生。例如Text_Change事件,在键盘事件之后发生。

    键盘事件的形参:
    KeyPress事件有一个形参:KeyAscii
    KeyDown事件有两个形参:KeyCode、Shift
    KeyUp事件有两个形参:KeyCode、Shift

    形参含义解释
    1,KeyAscii
    该值接受系统自动传来的当前按键的Ascii码值。可以识别字母、数字、标点、Enter、BackSpace、Tab等,其它功能键不能识别。
    "A"键的KeyAscii值=65 "a"键的KeyAscii值=97

    常用KeyAscii值对照表

    图片

    2,KeyCode
    返回键盘的扫描码值。不区分大小写。"A"和"a"的KeyCode都是65

    3,Shift
    返回Shift、Ctrl、Alt三键的状态
    按下Shift时,Shift=1
    按下Ctrl时,Shift=2
    按下Alt时,Shift=4

    举例1:
    当用户按下键盘时,输出KeyAscii、KeyCode、Shift三个形参的值。

    图片

    代码如下:

    Private Sub Form_KeyPress(KeyAscii As Integer)     
      Print "KeyAscii值:" & KeyAscii;
    End Sub
    Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)    
      Print "  KeyCode值:" & KeyCode; "  Shift值:" & Shift
    End Sub
    

    举例2:
    限制文本框中只能接收“0”~“9”的数字字符。

    Private Sub Text1_KeyPress(KeyAscii As Integer) 
        If KeyAscii < 48 Or KeyAscii > 57 Then 
            MsgBox "请输入0-9之间的数字"
            KeyAscii = 0
        End If
    End Sub
    
    展开全文
  • #资源达人分享计划#
  • VB写高效的图像处理程序,图像腐蚀,膨胀,开,闭,
  • VB图像处理程序源代码.rarVB图像处理程序源代码.rarVB图像处理程序源代码.rarVB图像处理程序源代码.rarVB图像处理程序源代码.rarVB图像处理程序源代码.rar

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 80,859
精华内容 32,343
关键字:

vb事件处理过程名