问题标签 [eventhandler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
358 浏览

c# - DGV DataBindingComplete fires on being made visible

I have a DGV on a tab control, with it's parent tab not the initially visible tab (i.e. dgv on TabPage2 with TabPage1 visible).

The grids data-source is populated and assigned on form load, in Data-binding complete I'm adding new columns and assigning an event handler to their header cell click, all OK so far.

However when I change tab to make the DGV visible data-binding complete fires for a second time, at this stage the event handler has been lost, what causes the event to fire for a second time?

What causes the Event handler to have been lost? Is there a way to work around this?

Thanks

Edit:

The cause appears to be the column is reverting to the underlying type, i.e. in DataBindingComplete I add a column DGVTextColumn which inherits from DataGridViewTextBoxColumn, the second time that DataBindingComplete fires the column is of the type DataGridViewTextBoxColumn rather than the inherited type DGVTextColumn if that helps anyone?

The important factor appears to be the column being bound, taking an empty form and adding a tab control to it, place a datagridview in tabpage2, revert back to tabpage1 paste the code at the bottom into the forms code.

Code to reproduce:

End Class

0 投票
1 回答
4161 浏览

wpf - 为什么 PreviewMouseLeftButtonDownEvent 中的 Handled 属性会影响 ClickEvent?

考虑为按钮添加 ClickEvent- 和 PreviewMouseLeftButtonDown-Handler

单击按钮时,首先会触发 PreviewMouseLeftButtonDown,然后触发 Click-Event。

如果您e.Handled = true在 Preview...-Event 中设置,则不再处理 Click-Event。

但是,现在让我们考虑一下 MouseLeftButtonDownEvent。
首先,这个事件的路由策略是直接的。也就是说,每次控制都会重新加注。相反,Preview...-Event 是隧道式的,Click-Event 是冒泡的。
其次,添加 MouseLeftButtonDownEventHandler 仅在注册处理程序时才会成功,以便甚至为已处理的事件调用它,如以下代码摘录所示。

我编写了一个测试应用程序,有一个按钮,并为每个事件添加了一个处理程序。当调用事件处理程序时,它会将一些信息写入文本块。

  • 当我单击该按钮时,将调用所有三个事件处理程序。
  • 当我添加e.Handled = true到 Preview...-EventHandler 时,只会调用此事件处理程序。甚至 Mouse...-EventHandler 也没有被提升,尽管我已经设置UIElement.AddHandler handledEventsToo为 true。
  • 当我添加e.Handled = true到 Mouse...-EventHandler 时,会调用所有三个事件处理程序。

这对我来说没有任何意义。Mouse...-EventHandlers 不会影响 Click-EventHandlers,但 Preview...-EventHandlers 会影响 Mouse...- 和 Click-EventHandlers。
甚至“强制”处理鼠标事件失败...-EventHandler。

实际上,我从没想过不同类型的事件处理程序会相互影响。我的理解是,如果我有一个 Preview...-Event 和一个 Click-Event,它们是独立的。

那么,我错过了什么?


这是非常简单的示例代码:

XAML:

代码隐藏:

0 投票
2 回答
122 浏览

c# - 为什么列表在事件之间清空自己?

我使用 List<> 作为从数据库返回的一些数据的容器,如下所示:

一切正常。但是当我试图在其他事件中对这个列表进行排序时,它是空的。

我只是想知道为什么会这样。一种解决方案是调用搜索方法并再次获取数据,但不是没有必要吗?

0 投票
2 回答
664 浏览

wpf - 如何查看 Combobox Selectionchanged 事件是手动触发还是通过绑定触发(WPF - MVVM)

我的情况是,每当有人更改组合框中的值时,我都需要清空模型中的属性。

这样做的一个副作用是,每当我更改 Combobox-Bound 变量的值时,都会触发 Combobox SelectionChanged 事件。

无论如何都知道是谁触发了这个事件。我想知道它是手动触发还是通过绑定触发的。

我正在查看发件人,但他们看起来差不多。

谢谢,

0 投票
0 回答
40 浏览

c# - 在 C# 中跨不同项目的运行时挂钩事件

我有两个不同的项目,ProjectA 和 ProjectB,在一个解决方案中。
项目 B 包含一个表单,该表单具有一个按钮,该按钮的单击事件钩在 ProjectA 的某个类上,

要设置此事件,我在项目 B 的表单中有一个处理程序

并且在 Project AI 中有处理上述方法的方法。在项目 A 内部,我在上面设置为

现在我不想将一些事件参数从项目 B 的形式传递给项目 A,这可能吗?

0 投票
1 回答
1810 浏览

c# - C# WPF Subscribe to Event in another Class fired from a UserControl

I have read through a lot of articles to resolve this problem, but I can't get this to work.

The Situation: I have a WPF MainWindow where I am loading UserControls into it. The Mainwindow should listen to an EventHandler in a Class called Navigation. The Event will be fired upon certain changes in the UserControls.

So far I can confirm that the UserControls can fire the Event, but the MainWindow does not pickup the Throw.

Navigation Class:

UserControl:

The MainWindow:

However, the _Thrower never picks up the Fired Event..

Any help is greatly appreciated! This is starting to hurt :)

Greetings, Tom

0 投票
1 回答
167 浏览

wpf - 奇怪的 WPF 跨线程问题

我想我知道如何解决这个问题,但如果有人有比我要实施的更好的想法,请告诉我。

我知道,当尝试从另一个线程访问 UI 线程上的控件的属性时需要调用 - 但我遇到了一个事件的问题,它给了我旧的“ The calling thread cannot access this object because a different thread owns it.”错误。

现在我的印象是UI线程上发生了一个事件,因此这种跨线程异常不应该有问题......这是我的XML:

这是相关按键事件的代码:

无论如何,我将使用调用来拉入字符串。

我仍然对为什么我会在这个事件处理程序上得到这个异常感到困惑,我想我会检查是否有更好的方法来处理这种情况。

0 投票
0 回答
32633 浏览

java - 选择一个组合框项目两次(连续)

我是 Java 新手,所以如果我的代码不好,我会提前道歉。

我有一个带有监听器的组合框

用户可以从组合框中选择一个项目,该项目的文本然后显示在文本区域中。然后,用户可以在文本区域中修改此文本,这是所需的功能。但是,如果用户想要返回到原始文本,他们会在组合框中再次选择 SAME 项目,但是因为该项目已经被选中,所以什么也没有发生。

任何想法将不胜感激。

谢谢

0 投票
1 回答
5299 浏览

c# - 如何将参数传递给 Xamarin IOS 中的事件处理程序

如何将字符串参数传递给 EventHandler?

ViewController(A) 书面事件处理程序

视图控制器(B)

0 投票
1 回答
51 浏览

javascript - 在 Javascript 中使用库的 EventHandler 和“this”修饰符

这里只是一个例子,在浏览器中使用 websocket。将 Nodejs 与用于 Websocket 的 ws 库一起使用时也发生了同样的情况。

如果你把所有的东西都写在一个类之外,所有的处理程序都会被调用:EG:

但是,如果您想在一个类中实例化,则不会调用任何处理程序

那么,是不是我必须以凌乱的方式将所有东西都放在全球范围内?

添加到问题

==================================================== =============== 补充: