认得有禁止事件默认代码执行和强制执行默认代码的命令,但是实在是想不起来是什么命令了,有知道的请告诉一下,麻烦了.

解决方案 »

  1.   

    当输入"-"以后,执行下面的代码后,VB仍会把"-"加入文本框内,怎样才能只执行自己的代码而不执行原事件代码呢?可能编程语言记错了(好几年不做),如果没有现成的命令,有没有什么方法?需要的话,分可以再加,真心请教,在线等。
    Private Sub text1_KeyPress(KeyAscii As Integer)
        If Not IsNumeric(Trim(labContractNumber.Text)) Or KeyAscii = 45 Or KeyAscii = 46 Then
            MsgBox "输入必须是数字!", vbOKOnly + vbInformation
            labContractNumber.SetFocus
            labContractNumber.Text = sOldText
        End If
    End Sub
      

  2.   

    这里所说的事件默认代码指的是VB程序控件里的超类代码。比如,listbox控件,我们不需要添加代码,它就会自动把你点选的项目高亮显示等等
      

  3.   

    没明白什么意思。
    我理解是不是这个意思:比如PictureBox控件的鼠标右键事件,同时会响应鼠标左键事件。这个左键事件,你想把它禁止了!
    要禁止这个左键事件,其实很简单。编写一个窗口处理程序,即回调函数,拦截鼠标左键事件,并过滤掉就OK了。这样鼠标右键事件将不再响应左键事件。
      

  4.   

    东方之珠:
     你好,依稀记得上次在论坛见到你已经是近十年前的事情了,没想到你还在论坛,再次见到你非常高兴!  我们在往控件对象的事件里添加代码的之前,这些控件原本就有代码用来响应特定的事件,我的意思是添加代码中断事件的触发。比如在Textbox控件的keypress事件中,添加代码判断输入字符是否符合要求,不符合即中断该事件的后继的赋值等动作,使该事件失效,大概就是这个意思了。
      现在想想,好像VB自身没有这个功能,到.net里才实现的。
      再次向你问好:祝您身体安康,家庭幸福。
      

  5.   

    Private Sub Text1_KeyPress(KeyAscii As Integer)
    If KeyAscii > Asc("b") Then KeyAscii = 0
    End Sub
    加入这一的代码后按键无法修改text内容,是不是你想要的?
    可以输入a,但是不能输入b,是这个样子吧?默认参数都是byref类型的,可以修改.