- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我可能遇到了 Visual Studio 2015 的问题。如果使用 WithEvents
和 Handles
关键字定义同一事件的三个处理程序,则不会调用其中一个处理程序。我在我们的软件中跟踪了这种行为,并编写了以下 WinForms 示例项目。
Public Class MainBase1
Inherits Form
Protected WithEvents Button1 As Button
Protected TextBox1 As TextBox
Public Sub New()
SuspendLayout()
Text = "WithEvents Test"
ClientSize = New Size(300, 300)
Button1 = New Button()
Button1.Location = New Point(10, 10)
Button1.Size = New Size(100, 25)
Button1.Text = "Button1"
Controls.Add(Button1)
TextBox1 = New TextBox()
TextBox1.Location = New Point(10, 50)
TextBox1.Multiline = True
TextBox1.Size = New Size(280, 240)
Controls.Add(TextBox1)
ResumeLayout(False)
PerformLayout()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox1.Text &= "MainBase1: Button click handled." & vbNewLine
End Sub
End Class
Public Class MainBase2
Inherits MainBase1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox1.Text &= "MainBase2: Button click handled." & vbNewLine
End Sub
End Class
Public Class Main
Inherits MainBase2
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox1.Text &= "Main: Button click handled." & vbNewLine
End Sub
End Class
点击Button1
后Textbox1
包含
MainBase1: Button click handled.
Main: Button click handled.
如果我在 Visual Studio 2012 下编译相同的示例,我会得到
MainBase1: Button click handled.
MainBase2: Button click handled.
Main: Button click handled.
有人也遇到过这个问题吗?或者我错过了什么?
最佳答案
这个错误仍然存在。这是我的解决方案。
我在 MainBase1
Protected Overridable
中创建了处理程序。子类不使用 Handles
,而是重写处理程序并调用 MyBase
。
这种方法的优点是处理程序的执行顺序定义明确。
Public Class MainBase1
Inherits Form
Protected WithEvents Button1 As Button
Protected TextBox1 As TextBox
Public Sub New()
SuspendLayout()
Text = "WithEvents Test"
ClientSize = New Size(300, 300)
Button1 = New Button()
Button1.Location = New Point(10, 10)
Button1.Size = New Size(100, 25)
Button1.Text = "Button1"
Controls.Add(Button1)
TextBox1 = New TextBox()
TextBox1.Location = New Point(10, 50)
TextBox1.Multiline = True
TextBox1.Size = New Size(280, 240)
Controls.Add(TextBox1)
ResumeLayout(False)
PerformLayout()
End Sub
Protected Overridable Sub Button1_Click(sender As Object, e As EventArgs) _
Handles Button1.Click
TextBox1.Text &= "MainBase1: Button click handled." & vbNewLine
End Sub
End Class
Public Class MainBase2
Inherits MainBase1
Protected Overrides Sub Button1_Click(sender As Object, e As EventArgs)
MyBase.Button1_Click(sender, e)
TextBox1.Text &= "MainBase2: Button click handled." & vbNewLine
End Sub
End Class
Public Class Main
Inherits MainBase2
Protected Overrides Sub Button1_Click(sender As Object, e As EventArgs)
MyBase.Button1_Click(sender, e)
TextBox1.Text &= "Main: Button click handled." & vbNewLine
End Sub
End Class
关于vb.net - Visual Studio 2015 中的 WithEvents 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33608936/
我正在使用适用于 iOS 的 Mixare AR SDK,我需要解决一些发生的错误,其中之一是在点击 POI 的 View 时显示 POI 的信息。 前奏: Mixare 在 MarkerView V
虽然大多数苹果文档都写得很好,但我认为'Event Handling Guide for iOS ' 是一个异常(exception)。我很难清楚地理解那里描述的内容。 文件说, In hit-tes
我从 XCode 6.2 升级到 XCode 7.0.1 后收到此错误消息。 /Users/ZERO/Documents/Xcode/XXXXX/Library/SegmentedControl/Se
免责声明 - 我绝不是 VBA 专家;我是一名黑客。 但是,我有一些静态的类模块(使用Attribute VB_PredeclaredId = True) 我也想用它们定义一些自定义事件(Public
免责声明 - 我绝不是 VBA 专家;我是一名黑客。 但是,我有一些静态的类模块(使用Attribute VB_PredeclaredId = True) 我也想用它们定义一些自定义事件(Public
我对 View 触摸有疑问: 我有一个parentView(框架是(0,0,768,1024)),其中包含两个 subview (A和B),A框架(0,0,512,768)带有标签100,B框架(51
touchesBegan: withEvent: / touchesMoved: withEvent: / touchesEnded: withEvent: 等只能被UIView捕获(如有问题请指出
我正在尝试在 VB6 模块中声明一个变量,如下所示: Public WithEvents MyObject As MyClass 帮助文件说 WithEvents只能在类模块中使用。为什么不能用在.b
我正在尝试创建一个类模块,当有人单击我表单中的六十个文本框之一时,它将充当全局处理程序。文本框代表一周的时间卡,显示一周 7 天的上类时间、下类时间、午餐开始、结束、持续时间、每日总小时数等信息。当有
我有一个 UserForm,xForm,它在类模块(假设为 TestClass)中实例化为: 'TestClass Dim Form as New xForm Private WithEvents E
WithEvents Collection - VB.NET 的最佳方法是什么? 您对下面的代码有任何评论(跳过 Nothing 验证)吗? 问题是当我在 For Each block 中获取 Lin
如果我用两根手指点击屏幕太快,touchesBegan被调用,但 touchesEnded不要求其中之一。 我疯狂地用谷歌搜索,这似乎是人们至少从 2010 年以来一直存在的一个严重问题。显然它还没有
我已向按钮添加了一些目标。他们工作得很好。但在我的 imageMoved... 方法中,如何确定两个事件中哪一个触发了它?这是我添加目标的位置: [button addTarget:self
我遇到了一个问题,当您触摸屏幕的左边缘。这似乎是 iOS 10 的一个新问题,并且只发生在具有 3D Touch 的设备(iPhone 6s 及更新版本)上。事实上,如果您在常规 -> 辅助功能中禁用
我正在制作一个应用程序,其中有一个背景 View ,并且有六个 UIImageView 作为 subview 。我有一个 UITapGestureRecognizer 来查看何时点击其中一个 UIIm
好吧,我是 Vb.NET 的初学者,虽然我几年前就开始学习然后休息了又开始又休息了。所以,无论如何,我仍然是初学者,我无法理解这个 WithEvents 实际上做了什么以及如何以及何时使用?我正在研究
我正在 Word 中开发一个 VBA 项目,并且在使用实现另一个类的类时遇到了处理事件的问题。 我定义了一个空类,IMyInterface : Public Sub Xyz() End Sub Pub
我收到错误 Handles clause requires a WithEvents variable defined in the containing type or one of its bas
当您单击按钮时,代码应该显示上下文菜单,但是当菜单出现时,它总是显示得比应有的更靠右和更高,而不是在单击的按钮(或鼠标,因为单击时它位于按钮上方)。 - (IBAction)menu:(id)send
问题 当用户触摸一个单元格时,应用程序由于 EXC_BAD_ACCESS 错误而崩溃。这已经使应用程序崩溃了一段时间(可能从 iOS 8、7 甚至 6 开始) 碰撞 崩溃发生在 AQGridView.
我是一名优秀的程序员,十分优秀!