Tag: 事件

c#两种forms之间的事件处理

我有两种forms,我试图捕获frmEventReceive.cs中frmEventGenerate.cs生成的事件。 在这个例子中,我可以从frmEventGenerate.cs接收事件,但不知道如何在frmEventReceive.cs中捕获它? frmEventReceive.cs是我创建frmEventGenerate.cs的启动表单。 有人能指出我正确的方向,我想我是愚蠢的! 谢谢 frmEventGenerate.cs: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Events { public delegate void LinkToEventHandler(); public partial class frmEventGenerate : Form { public static event LinkToEventHandler Evt; public frmEventGenerate() { InitializeComponent(); Evt += new LinkToEventHandler(ReceiveEvent); SendEvent(); } public static void SendEvent() […]

如何“取消设置”事件

如果我在designer.cs页面中设置了一个combobox单击事件,然后在程序运行期间的某个时刻,基于某些条件,我不再需要设置comboboxClick事件,如何“取消设置”它? 我已经尝试过comboboxname.Click + = null并且我已经尝试将它设置为另一个无效的虚拟函数……都不起作用。

是否可以在C#中订阅事件订阅?

如果我有这样的事件: public delegate void MyEventHandler(object sender, EventArgs e); public event MyEventHandler MyEvent; 并添加这样的事件处理程序: MyEvent += MyEventHandlerMethod; ……那么有可能以某种方式注册吗? 换句话说 – 是否可能有类似的东西: MyEvent.OnSubscribe += MySubscriptionHandler;

修改ComboBox SelectedIndex而不在C#中触发事件

我的C#应用​​程序有一个带有SelectedIndexChanged事件的comboBox 。 通常,我希望这个事件能够解雇,但有时候我需要事件才能解雇。 我的comboBox是一个MRU文件列表。 如果发现列表中的文件不存在,则从comboBox删除该项,并将comboBox SelectedIndex设置为零。 但是,将comboBox SelectedIndex设置为零会导致SelectedIndexChanged事件触发,在这种情况下会出现问题,因为它会导致某些UIF代码在事件处理程序中运行。 是否有一种优雅的方法来禁用/启用C#表单控件的事件? 谢谢。

有代理处理程序的事件和没有代理处理程序的事件有什么区别?

这有什么区别: this.btnOk.Click += new System.EventHandler(this.btnOK_Click); 还有这个? this.btnOk.Click += this.btnOK_Click; 他们都工作。 前者是Visual Studio在使用代码段时默认使用的内容。 但它似乎只是广告额外的措辞,或者我错过了什么?

另一个类.NET2中的WinForm事件简化了委托

任何使这个工作代码更简单的方法,即委托{}? public partial class Form1 : Form { private CodeDevice codeDevice; public Form1() { InitializeComponent(); codeDevice = new CodeDevice(); //subscribe to CodeDevice.ConnectionSuccessEvent and call Form1.SetupDeviceForConnectionSuccessSate when it fires codeDevice.ConnectionSuccessEvent += new EventHandler(SetupDeviceForConnectionSuccessState); } private void SetupDeviceForConnectionSuccessState(object sender, EventArgs args) { MessageBox.Show(“It worked”); } private void button1_Click(object sender, EventArgs e) { codeDevice.test(); } } public class […]

如何从windows中抑制全局鼠标单击事件?

我正在开发一个基于Windows的应用程序,我希望每当我的应用程序启动时它应该禁用我的应用程序窗口窗体之外的鼠标单击事件。 任何人都可以告诉我,我怎么能实现这一目标? 提前致谢。 编辑: 在表单中捕获鼠标单击事件并禁止单击操作很容易,因为我们只使用它: protected override void WndProc(ref Message m) { if (m.Msg == (int)MouseMessages.WM_LBUTTONDOWN || m.Msg == (int)MouseMessages.WM_LBUTTONUP) MessageBox.Show(“Click event caught!”); //return; –for suppress the click event action. else base.WndProc(ref m); } 但如何在我的应用程序表单之外捕获鼠标单击事件?

加载所有项目并在ListView中显示后会触发哪个事件?

在WPF ListView中加载并显示所有项目后会触发哪个事件? 我尝试优化在ListView中显示大量项目。 ListView使用以下代码填充Items: List selectedArtistsList; //Code to fill selectedArtistsList with about 6,000 items not shown here CollectionViewSource selection1ViewSource = ((CollectionViewSource)(this.FindResource(“selection1Source”))); Stopwatch stopWatch1 = new Stopwatch(); stopWatch1.Start(); selection1ViewSource.Source = selectedArtistsList; stopWatch1.Stop(); Debug.Print(“Time used: {0}ms”, stopWatch1.ElapsedMilliseconds.ToString()); 当我运行此代码时,我看到“时间使用119毫秒”或类似的东西。 但是在我看到屏幕上ListView中的Items之前,它需要大约3秒钟。 是否有一个事件在ListView加载项目后触发? 我有兴趣测量ListView为用户准备好的时间。

在Control.KeyUp事件上检测Alt键时出现问题

我有一个KeyDown和KeyUp事件的控件,如下所示。 我遇到的问题是KeyDown中的’x’为TRUE,而KeyUp中的’x’总是为FALSE。 我正在尝试检测Alt键(您可能已经猜到了)。 有没有我不知道的gottcha。 我的意思是,当我按下Alt时它会检测到它没问题但是在keyup上它是假的。 任何建议/想法 谢谢 private void MyControl_KeyDown(object sender, KeyEventArgs e) { bool x; x = ((int) (e.KeyData & Keys.Alt) != 0); x = (e.KeyData & Keys.Alt) == Keys.Alt; x = e.Alt; } private void MyControl_KeyUp(object sender, KeyEventArgs e) { bool x; x = ((int) (e.KeyData & Keys.Alt) != 0); x = (e.KeyData […]

WPF窗口关闭事件用法

我有一个Window类(例如public partial class Foo : Window ),当我创建窗口时,我注册了Closed事件。 foo = new Foo(); foo.Closed += FooClosed; public void FooClosed(object sender, System.EventArgs e) { } 当有人按下foo窗口内的按钮时,我会调用this.Close()但似乎没有调用我的FooClosed 。 我错误地报名参加活动了吗? 更新 顺便说一下,我想要完成的就是知道 foo何时关闭,所以我可以将引用设置为null 。 有没有更好的方法来实现这一目标?