草庐IT

c# - C#中如何订阅其他类(class)的事件?

一个简单的场景:一个引发事件的自定义类。我希望在表单中使用此事件并对其使用react。我该怎么做?请注意,表单和自定义类是单独的类。 最佳答案 publicclassEventThrower{publicdelegatevoidEventHandler(objectsender,EventArgsargs);publiceventEventHandlerThrowEvent=delegate{};publicvoidSomethingHappened()=>ThrowEvent(this,newEventArgs());}publi

c# - 如何在 C# 中实现取消事件

我知道在C#中,有几个传递参数(“Cancel”)的内置事件,如果设置为true将停止在引发事件的对象中进一步执行。您将如何实现引发对象能够跟踪EventArgs中的属性的事件?这是我正在尝试执行的操作的WinForms示例:http://msdn.microsoft.com/en-us/library/system.componentmodel.canceleventargs.cancel.aspx谢谢。 最佳答案 这真的很容易。privateevent_myEvent;//...//CreatetheeventargsCance

c# - 如何在 C# 中实现取消事件

我知道在C#中,有几个传递参数(“Cancel”)的内置事件,如果设置为true将停止在引发事件的对象中进一步执行。您将如何实现引发对象能够跟踪EventArgs中的属性的事件?这是我正在尝试执行的操作的WinForms示例:http://msdn.microsoft.com/en-us/library/system.componentmodel.canceleventargs.cancel.aspx谢谢。 最佳答案 这真的很容易。privateevent_myEvent;//...//CreatetheeventargsCance

C# 下拉列表更改事件

上面有aspxprotectedvoidmyListDropDown_Change(objectsender,EventArgse){//stuffthatnevergetshit}我在myListDropDown方法上设置了一个断点,但它从未被击中。有什么建议吗? 最佳答案 设置AutoPostBackDropDownList控件的属性设置为true。 关于C#下拉列表更改事件,我们在StackOverflow上找到一个类似的问题: https://stac

C# 下拉列表更改事件

上面有aspxprotectedvoidmyListDropDown_Change(objectsender,EventArgse){//stuffthatnevergetshit}我在myListDropDown方法上设置了一个断点,但它从未被击中。有什么建议吗? 最佳答案 设置AutoPostBackDropDownList控件的属性设置为true。 关于C#下拉列表更改事件,我们在StackOverflow上找到一个类似的问题: https://stac

c# - 避免在 C# 中重复订阅事件

您如何建议避免重复事件订阅的最佳方法?如果这行代码在两个地方执行,事件将运行两次。我正在努力避免3rd方事件订阅两次。theOBject.TheEvent+=RunMyCode;在我的委托(delegate)setter中,我可以有效地运行这个...theOBject.TheEvent-=RunMyCode;theOBject.TheEvent+=RunMyCode;但这是最好的方法吗? 最佳答案 我认为,最有效的方法是让您的事件成为一个属性并为其添加并发锁,如Example所示。:privateEventHandler_theEv

c# - 避免在 C# 中重复订阅事件

您如何建议避免重复事件订阅的最佳方法?如果这行代码在两个地方执行,事件将运行两次。我正在努力避免3rd方事件订阅两次。theOBject.TheEvent+=RunMyCode;在我的委托(delegate)setter中,我可以有效地运行这个...theOBject.TheEvent-=RunMyCode;theOBject.TheEvent+=RunMyCode;但这是最好的方法吗? 最佳答案 我认为,最有效的方法是让您的事件成为一个属性并为其添加并发锁,如Example所示。:privateEventHandler_theEv

c# - WPF MouseDown 事件不会在控件中的任何地方触发

我目前正在与另一个WPF斗争作斗争,即鼠标事件。我基本上有一个非常简单的控件(一个包含Grid的Border,它本身有一些TextBlocks)。我试图实现一个简单的行为:双击应该将控件转换为编辑模式(这实际上隐藏了TextBlocks和TextBoxes绑定(bind)到相同的数据。没什么特别的,对吧?好吧,我还在挣扎。链接到我的UserControl的MouseDoubleClick仅在我单击控件时触发(例如,单击TextBlock)。如果我单击TextBlocks之间的空白区域,则不会触发任何内容。甚至MouseDown也没有。我怎样才能让它工作以捕捉每一次鼠标点击?我假设将Mo

c# - WPF MouseDown 事件不会在控件中的任何地方触发

我目前正在与另一个WPF斗争作斗争,即鼠标事件。我基本上有一个非常简单的控件(一个包含Grid的Border,它本身有一些TextBlocks)。我试图实现一个简单的行为:双击应该将控件转换为编辑模式(这实际上隐藏了TextBlocks和TextBoxes绑定(bind)到相同的数据。没什么特别的,对吧?好吧,我还在挣扎。链接到我的UserControl的MouseDoubleClick仅在我单击控件时触发(例如,单击TextBlock)。如果我单击TextBlocks之间的空白区域,则不会触发任何内容。甚至MouseDown也没有。我怎样才能让它工作以捕捉每一次鼠标点击?我假设将Mo

c# - 加载新的 WPF/C# 窗口时触发的最后一个事件是什么?

我正在尝试为我的应用程序加载首选项窗口,我希望应用按钮最初被禁用,然后当首选项更新时,应用按钮再次启用。我有一些控件数据绑定(bind)到首选项对象,发生的事情是在窗口加载后,组合框事件被触发。有没有什么事件可以保证在一切都稳定后最后发生?我的代码如下所示(应用按钮在窗口加载后始终处于启用状态):privatevoidWindow_Loaded(objectsender,RoutedEventArgse){_preferencesData=newPreferencesDataContext();LayoutRoot.DataContext=_preferencesData;Button