【如何在C#中并行化事件处理程序执行】教程文章相关的互联网学习教程文章

editmode中的单元格不会在C#中触发OnKeyDown事件【代码】

我已经制作了自己的datagridview控件,其中包含ovveride OnKeyDown事件:public partial class PMGrid : DataGridView {protected override void OnKeyDown(KeyEventArgs e){if (e.KeyCode == Keys.Enter){e.SuppressKeyPress = true; //suppress ENTER//SendKeys.Send("{Tab}"); //Next column (or row)base.OnKeyDown(e);}else if (e.KeyCode == Keys.Tab){base.OnKeyDown(e);this.BeginEdit(false);}else{base.OnKeyDown(e);}} }...

c# – 为什么.NET Web控件事件处理程序不通用?【代码】

我一直在想这一段时间;但尤其是因为过去几周我更专注于前端开发.这可能听起来像一个广泛的问题,但希望有一个答案或理由: 为什么.NET Web控件事件处理程序不通用? 推理 我问的原因是由于强类型事件处理程序的精确和优雅.在我的项目中,无论何时需要,我倾向于使用.NET通用EventHandler< T>委托,自.NET 2.0以来一直存在;如discussed here.public delegate void EventHandler<TArgs>(object sender, TArgs args) where TArgs : EventA...

C# VSTO给Excel添加右键菜单并添加点击的click事件【代码】

Excel.Application app; private void ThisAddIn_Startup(object sender, System.EventArgs e) {app = Globals.ThisAddIn.Application;Office.CommandBars bars = app.CommandBars; Office.CommandBar bar = bars["cell"]; //获取右键菜单项bar.Reset();Office.CommandBarControls controls = bar.Controls;Office.CommandBarButton newControl =(Office.CommandBarButton)controls.Add(Office.MsoControlType.msoCont...

c# – 我应该何时在事件聚合器上使用事件处理程序?

我应该何时使用事件处理程序而不是事件聚合器? 在我的代码中,我有两个由父ViewModel控制的ViewModel,我试图决定是否应该使用事件处理程序在它们之间进行通信?或者使用Event Aggregator?它只是简单的方法调用,我不需要在它们之间传递参数.解决方法:我看到它的方式,EventAggregator通常是你想要将事件发布到整个应用程序时使用的重枪,更具体地说 – 当你不知道究竟是谁在听时. 在您的情况中并非如此,您有2个想要进行通信的视图模型...

c# – 如何在一个按钮中设置两个事件单击?【代码】

我有一个带有Timer1的Form. 我想将timer1的Tick事件设置为已经签名到另一个timer2的timer2_Tick函数. 如何将2个定时器设置为1个事件?解决方法:您按照分配任何其他事件处理程序的方式执行此操作,您恰好为两个计时器选择相同的方法.System.Windows.Forms.Timer first = new System.Windows.Forms.Timer(); first.Tick += tick;System.Windows.Forms.Timer second = new System.Windows.Forms.Timer(); second.Tick += tick;private ...

c# – 操作WPF TextBox LostFocus事件和绑定的顺序【代码】

我有一个代表数据编辑器的WPF窗口. Window的DataContext是一个可观察对象(实现了INotifyPropertyChanged). 每个可观察对象的属性都绑定到Window中的适当小部件(TextBox用于数字类型,CheckBox用于bool等). 我不想让“确定”和“取消”按钮来保持更改的属性;我希望当窗口小部件失去焦点时,底层数据将持久保存到可观察对象. 为此,我已经处理了小部件的PreviewLostKeyboardFocus和LostFocus事件.我的undo框架需要一个代表当前状态的obs...

c# – Word Document.SelectionChange事件不会触发【代码】

以下是基于VSTO的Word插件的代码(可读性简化版). 问题是,如果我打开了两个文档,例如文档和模板,我的插件可以帮助开发模板并正常工作,直到模板关闭并在同一个Word实例中重新打开(文档文件使Word保持活动状态).一旦发生这种情况,即使附加了侦听器(使用调试器确认),也不会收到SelectionChange事件. 这段代码有什么问题吗?附加选择更改事件的任何其他方式?void Application_DocumentOpen(Word.Document Doc) {// this method gets ca...

c#调用按钮点击事件

关于c#窗体程序的按钮点击事件,经过这几天的查询资料,现在总结如下: 1、在一个按钮事件中调用另一个按钮(button1)的点击事件,可以直接如下: button1.PerformClick() 也称之为 以编程方式调用按钮的click事件 2、在加载事件里调用button1.click(null, null); 也相当于触发了事件 这里的加载事件,指的是窗体中各个控件按钮的初始化方法, private void InitializeComponent() 3、在Form_load事件中 在编辑器中直接...

C# 调用一个按钮的Click事件【代码】

最基本的调用方法 (1)button1.PerformClick(); (2)button1_Click(null,null); (3)button_Click(null,new EventArgs()); 利用反射调用 最开始的调用方法//建立一个函数 private void callOnClick(Button btn) { //建立一个类型 Type t = typeof(Button); //参数对象 object[] p = new object[1]; //产生方法 MethodInfo m = t.GetMethod("OnClick", BindingFlags.NonPublic | BindingFlags.Instance); //参数赋值。传入函...

c# – 禁用按钮不会触发服务器端的click事件【代码】

我的aspx页面中有一个图像按钮,如:<asp:ImageButton ID="btnProcessPayment" ImageUrl="~/Images/process-payment.png" OnClientClick="return disableButton(this);"runat="server" OnClick="btnProcessPayment_Click" />这是我的javascript函数:function disableButton(button) {button.disabled = true;return true;}正如您在我的javascript事件处理程序中看到的那样,我已禁用该按钮以防止用户单击该按钮两次.但是,即使我的服...

C# 事件的使用案例【代码】【图】

事件的使用案列 一、案例背景 在写一个询价报价的Winfrom程序时,程序首页FORM(form名为FrmEnquiry)显示的询价记录和报价记录, 询价记录如下图: 在用户点击新增询价记录后弹出询价记录编辑FORM(form名为FrmEnquiryEdit),界面如下图: 案例需求:用户在编辑页面(FrmEnquiryEdit)中编辑完询价记录后在点击保存新增询价记录按钮后编辑界面(FrmEnquiryEdit)需要通知主界面更新显示出刚刚新增询价记录。 应用自定义事件,...

c# – 如何让UserControl调度HelpRequest事件【代码】

在“HelpRequest-mode”中单击时,如何让UserControl调度HelpRequest事件? 我试图用一些彩色背景设置最简单的UserControl.但无法让它发挥作用. 更新namespace SeoTools.UI.Components {public partial class HelpRequestTest : UserControl{public HelpRequestTest(){InitializeComponent();}protected override void OnHelpRequested(HelpEventArgs hevent){base.OnHelpRequested(hevent); //can't get it here either}} }namespa...

c# – 接线和无线接线事件【代码】

在某些情况下,我发现,开发人员将无线事件再次连线,如下所示:control.Click -= new eventHandler(eventHandler) control.Click += new eventHandler(eventHandler)为什么他们这样做?解决方法:可能是因为中间还有其他代码会触发事件,并且他们不希望eventHandler对其进行操作.恕我直言,这不是最好的做事方式,但它很容易,而且很有效. 如果中间没有其他代码,则可能无法再次删除和添加相同的事件处理程序.

c# – FormClosing()事件加载两次【代码】

我想在关闭表单之前显示一个MessageBox来确认退出.因此,创建了一个FormClosing事件.private void Form_Main_FormClosing(object sender, FormClosingEventArgs e){//nothing here for now}我有两次显示MessageBox.调试工具显示代码以某种方式遍历FormClosing()两次.即使我在上面的FormClosing()中没有任何内容,也会发生这种情况.我在我的整个代码中搜索了FormClosing(),并且只有一个地方可以订阅它.我在其他两个项目中有相同的Form...

c# – DataGridView DataError事件保留无效行【代码】

我正在开发一个Winforms应用程序,它显示一个绑定到某个数据库表的DataGridView. 它允许插入新的条目,并进行一些数据验证. 如果将所需列留空,或者违反了其中一个唯一约束,则DataError事件将调用此函数:protected void _data_error(object sender, DataGridViewDataErrorEventArgs e) {MessageBox.Show(this,e.Exception.Message,"Error");e.ThrowException = false;e.Cancel = false; }关闭弹出窗口后,将删除正在编辑的新行.当对已...