【C#-反射:在运行时将事件字段与委托类型的字段区分开】教程文章相关的互联网学习教程文章

c# – 事件处理程序中的“可重入调用SetCurrentCellAddressCore” – 仅在单元格行和列索引相等的情况下【代码】

我正在创建一个WinForms应用程序,其中包含一个使用DataGridView处理简单数据操作的表单.为了确保准确输入同时减轻混乱(阅读:不使用DataGridViewComboBoxColumn)我有一些事件处理程序暂时将DataGridViewTextBoxCell转换为等效的DataGridViewComboBoxCell连接到已知的“干净”值,当编辑事件被引发时(通常当可编辑的单元格是点击):private void OnCellEndEdit(object sender, DataGridViewCellEventArgs e) {//construct a textbox ...

c# – ItemsControl中DataTemplate上的事件处理程序【代码】

我有一个ItemsControl,以便我可以显示相同模板的多个实例.我需要能够在事件处理程序上执行代码,以便我可以区分控件. 例如:我有一份杂货清单,因此我的DataTemplate包含每种食物的“购买”按钮.我想将所述按钮绑定到代码并告诉我按下了哪个按钮. 考虑到我使用的是MVVM设计模式,我怎样才能做到这一点 ** XAML:**<ItemsControl ItemsSource="{Binding MyItemList}"><ItemsControl.ItemsTemplate><DataTemplate><Button Content="Buy"...

c# – 如何将突发事件缓冲为较少的结果操作【代码】

我想将多个事件减少为单个延迟动作.在发生一些触发后,我预计会出现更多类似的触发器,但我不想重复产生的延迟动作.行动等待,给爆炸完成的机会.问题:我怎样才能以优雅的可重复使用方式进行?直到现在我使用属性标记事件并触发延迟操作,如下所示:public void SomeMethod(){SomeFlag = true; //this will intentionally return to the caller before completing the resulting buffered actions.}private bool someFlag;public bool...

c# – ZKemKeeper库中的实时事件处理程序在一段时间后停止响应设备活动【代码】

我创建了一个简单的Windows服务项目,使用ZKemKeeper库从指纹设备捕获实时事件.该服务似乎在第一时间正常工作,并且它对设备中的事件做出了很好的响应.但我发现,服务在几分钟不活动后停止响应该事件.我认为这是导致问题的服务,但是问题仍然存在于WinForm应用程序中,甚至SDK中包含的示例都显示了确切的问题. 这是Windows服务的代码:public partial class Service1 : ServiceBase {private System.Diagnostics.EventLog eventLog1;CZK...

c# – 线程安全事件 – 这是一种“干净”的方式吗?【代码】

我偶然发现了专业库中的一些代码,并且不确定这是否是一种处理跨线程事件调用的简洁方法. 下面的代码在表单应用程序中.线程调用是从一个本身启动新线程并接收消息的类中进行的:private void Library_StatusChanged(object sender, AbstractTestCase.StatusChangedEventArgs e) {if (this.InvokeRequired){this.lblProgress.Invoke((MethodInvoker)delegate (){lblProgress.Text = "Current state: " + e.Step;lblProgress.Refresh(...

C#我应该阻止一个事件被解除两次吗?【代码】

如果一个事件被钩住并且稍后在应用程序中被取消,那么我会尝试再次取消它.我应该阻止这个吗?private void MyFunctionCalledWheneverIWant() {// Second unhook : Should I prevent this ? How ?myObject.MyEventHandler -= MyEvent; }public void MyEvent() {// First unhookmyObject.MyEventHandler -= MyEvent; }解决方法:取消订阅两次不会导致问题,因为@puneet和@MaartenVanSambeek指出.如果要添加检查,可以通过GetInvocationLi...

c# – 修改CookieAuthenticationOptions LoginPath OnRedirectToReturnUrl事件【代码】

我在MVC 6 ASP.NET 5项目中进行了以下设置: 配置方法中的Startup.cs:app.UseCookieAuthentication(options => {options.AuthenticationScheme = "Cookie";options.LoginPath = new PathString("/<TENANT>/account/signin/");options.AccessDeniedPath = new PathString("/<TENANT>/account/unauthorised/");options.AutomaticAuthenticate = true;options.AutomaticChallenge = true;options.Events = new CookieAuthenticationE...

c# – 如何在以编程方式与控件交互后阻止事件触发?【代码】

我有一个CheckedBoxList.此外,我还附加了一个ItemCheck事件,因此在检查项目后执行了一个功能.但问题是,在我的程序中,我需要以编程方式检查/取消选中项目.此操作会触发事件功能. 我的猜测也适用于其他控件. 我该如何防止这种行为?我需要仅在用户与之交互时才运行函数,而不是在我在应用程序内部进行控制时.解决方法:您可以将所有更改包装到函数中的CheckedBoxList中,并且每次都使用该函数.代码可能如下所示:private void UpdateChe...

c# – 调用基类的事件处理程序的MSIL是什么?【代码】

我有一个名为EventConsumer的类,它定义一个事件EventConsumed和一个OnEventConsumed方法,如下所示:public event EventHandler EventConsumed;public virtual void OnEventConsumed(object sender, EventArgs e) {if (EventConsumed != null)EventConsumed(this, e); }我需要在OnEventConsumed运行时添加属性,所以我使用System.Reflection.Emit生成子类.我想要的是MSIL相当于此:public override void OnEventConsumed(object send...

c# – 如何为ASP.Net自定义控件提供新的自定义事件【代码】

我觉得Google应该能够为我解决这个问题,但我发现很少有我不懂的例子. 我有这个名为UserControlTask??的自定义控件.我希望向它添加一个OnHide事件,顾名思义,我希望在隐藏用户控件时抛出它. 我似乎找到了很多像OnClick这样的重写事件的例子,但是没有一个是在添加全新事件的地方. 我真正知道的是我需要声明EventHandler ……public event EventHandler Hide;然后我相信将OnHide添加到我的CreateChildControls方法中的属性.我认为无论如...

c# – REST调用未触发PreRequestHandlerExecute事件【代码】

我正在HttpApplication类的PreRequestHandlerExecute事件处理程序中创建我的nhibernate会话. 它适用于MVC,但是,在WCF(REST)中,事件永远不会被触发. 有没有办法让它成为现实或任何其他更好的想法在MVC和WCF / Rest中设置会话? 提前致谢, AndrCarlucci解决方法:我知道了! 我在这篇文章中找到了答案: http://blogs.msdn.com/wenlong/archive/2006/01/23/516041.aspx 在混合模式下使用WCF时,模块在管道的早期阶段拦截请求:BeginReq...

c# – 将托管事件源连接到非托管事件接收器【代码】

我正在尝试用C#编写一个托管库,它将充当现有C事件接收器的事件源.我遇到的问题是,当非托管应用程序调用AtlAdvise来获取我的库的连接点映射时,它会收到错误“0x80040200”(CONNECT_E_NOCONNECTION) – 有一些关于该错误的MSDN文章与非托管相关&LT – &GT COM服务器中的非托管通信和无效的连接点映射,但没有关于托管COM服务器的信息. 我已经从非托管的C服务器加载了idl,该服务器工作并获得了公开的事件列表,然后通过执行以下操作在我...

c# – WPF中WinForms TextBox.Validating事件的等价物

在WinForms中,我可以处理Validated事件,以便在用户更改TextBox中的文本后执行某些操作.与TextChanged不同,Validated不会针对每个字符更改触发;它只在用户完成时触发. 我可以使用WPF中的任何内容来获得相同的结果,只有在用户完成更改文本后才会引发事件吗?解决方法:当用户从文本框移动到任何其他控件时,将触发LostFocus.

C#事件传递/冒泡【代码】

我在课堂上订阅了一个活动.如MainStation mainStation = StationFactory.GetMainStation(); mainStation.FrequencyChanged += new EventArgs(MainStation_FrequencyChanged);我的MainStation类通过调用事件FrequencyChanged()在某些条件下引发事件 问题 现在我有一个场景,我必须从MainStation实例化SubStation,它也是MainStation的子类,带有一些额外的功能,并且必须订购FrequencyChanged事件作为MainStation的子程序.考虑下面提到...

c# – 在不知道名字的情况下删除事件【代码】

有可能不是这样做:person.Walking -= person_Walking1; person.Walking -= person_Walking2; person.Walking -= person_Walking3;做这个:person.Walking = // remove all the handlers without knowing their names谢谢.解决方法:不是.事件的一部分是他们阻止你这样做.如果我订阅了一个按钮点击并且您订阅了一个按钮点击,那么你有什么权利删除我的处理程序? (好吧,那是拟人化的,但你明白了.)请注意,这不是知道事件处理程序的“名...