Tag: 事件

C#中的并行事件处理

我正在开发一个模块,它必须处理来自外部系统的许多事件。 我要使用提供事件(OnNewMessage)的第三方类将一些参数作为输入传递,将两个参数作为输出传递,每个事件需要一堆时间才能被处理。 我想以并行方式提供这些事件,以避免阻塞调用者并并行处理多个请求。 这是我的代码示例: void Init() { provider.OnNewMessage += new OnMessageEventHandler(processEvent); } void processEvent(string xml, int …, out string resultXML, out string description) { … } 在C#3.5中执行此操作的最佳方法是哪种? 谢谢

从拥有类外部调用C#事件?

在任何情况下是否有可能实现这一目标? 我现在的情况如下: public class CustomForm : Form { public class CustomGUIElement { … public event MouseEventHandler Click; // etc, and so forth. … } private List _elements; … public void CustomForm_Click(object sender, MouseEventArgs e) { // we might want to call one of the _elements[n].Click in here // but we can’t because we aren’t in […]

如何在wpf中检测多个键onkeydown事件?

我不想检测任何双键组合,所以解决方案就像 if(Keyboard.IsKeyDown(specificKey)){ } 不会工作,除非当然,我会检查每一个关键状态,我希望我不必这样做。 。 private void TextBox_KeyDown_1(object sender, KeyEventArgs e) { Console.WriteLine(combination of keys pressed); } 编辑:最终目标是检测任何(不是特定组合/单键)组合键。 EDIT2:LadderLogic的解决方案非常有效。

C#下拉列表更改事件

上面有aspx protected void myListDropDown_Change(object sender, EventArgs e) { //stuff that never gets hit } 我在myListDropDown方法上设置了一个断点但它永远不会被击中。 有什么建议?

取消订阅从未订阅过的活动是否安全?

例如,如果这些代码: Button button1 = new Button(); // … button1.Click -= button1_Clicked; 执行之前: button1.Click += button1_Clicked; 我没有发现任何错误或exception,但我想知道这里是否有任何缺点。 如果它是安全的,为什么允许取消订阅从未订阅过的活动?

为什么“new”运算符使用 – =来分离事件处理程序?

为什么我必须使用以下内容来分离事件? object.myEvent -= new MyEvent(EventHandler); 我对新操作员的工作感到非常恼火。 有人可以解释一下吗? 更新 我已经知道我不必使用new运算符来分离事件,但它仍然是Visual Studio 2010中的自动完成建议。我真正的问题是如何 – =分离过程的新工作。 新对象/委托如何匹配+ =侧的先前创建的对象/委托?

nhibernate审核更新事件

以下代码适用于插入,但更新modifier永远不会设置,任何想法为什么? 正在运行预更新代码,并将状态和实体值正确设置为所需的值。 但是在查看生成的sql时,nhibernate不包含更新查询中的字段。 /// Updates auditable objects public class AuditEventListener : IPreInsertEventListener, IPreUpdateEventListener { private ISecurityManager securityManager; public bool OnPreInsert( PreInsertEvent args ) { var auditable = args.Entity as IAuditable; if (auditable != null) { Set( x => auditable.Creator, args.Persister, auditable, args.State, SecurityManager.Identity ); Set( x => auditable.DateAdded, args.Persister, auditable, args.State, Clock.Now ); } return […]

C#事件删除语法

我对在C#中删除事件处理程序的语法感到困惑。 Something += new MyHandler(HandleSomething); // add Something -= new MyHandler(HandleSomething); // remove “new”在每一行上创建一个新对象,因此您添加一个对象,然后要求它删除另一个对象。 这可以起到什么作用? 从语法来看肯定不明显。

手动提升按钮(或任何控件)单击事件。 C#

任何人都可以告诉我如何提高按钮控制的点击事件(或任何事件的事件)。 平台:.net 2.0 / 3.0 / 3.5语言:c#域:Windows应用程序,WinForms等

显式事件添加/删除,误解?

我最近一直在研究内存管理,并一直在研究如何管理事件,现在,我看到了事件订阅的显式添加/删除语法。 我认为这很简单,添加/删除只允许我在订阅和取消订阅时执行其他逻辑? 我得到它了,还是有更多的东西? 此外,虽然我在这里,任何清理我的事件处理的建议/最佳实践。