Tag: events

C#到VB6 COM事件(“对象或类不支持事件集”)

真的把这头发拉出来…… 我有一个C#项目,其接口定义为: /* Externally Accessible API */ [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)] public interface ISerial { [DispId(1)] bool Startup(); [DispId(2)] bool Shutdown(); [DispId(3)] bool UserInput_FloorButton(int floor_number); [DispId(4)] bool Initialize(); } /* Externally Accesssible Event API */ [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)] public interface ISerialEvent { [DispId(5)] void DataEvent(); } [ComSourceInterfaces(typeof(ISerialEvent), typeof(ISerial))] [ClassInterface(ClassInterfaceType.None)] public class SerialIface : ISerial { public delegate void DataEvent(); public […]

UserControl的事件处理程序没有触发

我动态地将UserControl加载到MultiView控件中的View中。 虽然UserControl添加了一个事件处理程序,但事件永远不会触发。 我在这里想念的是什么? 谢谢! 包含ASPX页面: protected override void OnPreRender(EventArgs e) { if (MultiView1.ActiveViewIndex == 2) //If the tab is selected, load control { Control Presenter = LoadControl(“Presenter.ascx”); (MultiView1.ActiveViewIndex.Views[2].Controls.Add(Presenter); } base.OnPreRender(e); } Presenter.ascx.cs override protected void OnInit(EventArgs e) { Retry.Click += this.Retry_Click; //This is a .Net 2.0 project base.OnInit(e); } protected void Retry_Click(object sender, EventArgs e) […]

如何在C#backgroundworker中发送更多参数改进了事件

我理解如何将一个变量(progresspercentage)传递给“progresschanged”函数,就像这样。 backgroundWorker1.ProgressChanged += new ProgressChangedEventHandler(backgroundWorker1_ProgressChanged); … worker.ReportProgress(pc); … private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e) { this.progressBar1.Value = e.ProgressPercentage; } 但我想将更多变量传递给此函数,有些事情如下: worker.ReportProgress(pc,username,score); … private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e) { this.progressBar1.Value = e.ProgressPercentage; this.currentUser.Value = e.UserName; //as string this.score.Value = e.UserScore; //as int } 抱歉,我是c#的新手,有人可以举个例子。

垃圾收集器和事件处理程序

一个简单的问题。 假设我有一个如下例所示的类。 class Subscriber { private Publisher publisher = new Publisher; public Subscriber() { publisher.SomeEvent += new EventHandler(OnEventFired); } private void OnEventFired(object sender, EventArgs e) { } } 在程序的某个地方,我有一个看起来像这样的方法: public void DoSomething() { Subscriber subscriber = new Subscriber(); } 我是否正确地期望这会导致内存泄漏,因为订阅者永远不会取消订阅发布者事件,从而导致他们都保持对彼此的强引用?

unit testing具有事件和委托的类

我是新手测试请帮助。 我有以下课程 public delegate void OnInvalidEntryMethod(ITnEntry entry, string message); public class EntryValidator { public event OnInvalidEntryMethod OnInvalidEntry; public bool IsValidEntry(ITnEntry entry, string ticker) { if (!IsFieldValid(entry, ticker.Trim().Length.ToString(), “0”)) return false; return true; } private bool IsFieldValid(ITnEntry entry, string actual, string invalidValue) { if (actual == invalidValue) { RaiseInvalidEntryEvent(entry); return false; } return true; } private […]

接口事件的实际使用

接口事件的强大function(在接口内声明事件)的一个很好的例子是什么? 大多数时候我只看到界面内部的公共抽象方法。

MouseLeftButtonUp不会触发

我有一个Button 但问题是,与MouseLeftButtonDown不同,事件MouseLeftButtonUp不会触发。 为什么? 我该如何解决? 谢谢。

如何以编程方式在C#中连接ToolStripButton事件?

我是以编程方式将ToolStripButton项添加到上下文菜单中。 那部分很容易。 this.tsmiDelete.DropDownItems.Add(“The text on the item.”); 但是,我还需要连接事件,以便当用户点击该项时实际发生的事情! 我该怎么做呢? 处理点击的方法还需要接收某种与用户点击的特定ToolStripButton相关的id或对象。

Windows C#CheckedListBox检查项目事件处理

我目前正在开发一个Window应用程序,它使用CheckedListBoxes来实现程序的某些方面。 我遇到的一个问题是,我一直在尝试查找在检查项目时触发了哪个事件,这样我就可以在选中任何列表项时启用表单按钮。 问题是我尝试使用以下内容; private void clbAvailMods_ItemCheck(object sender, ItemCheckEventArgs e) { if(e.NewValue == CheckState.Checked) { btnInstall.Enabled = true; } } 但是当我在if语句上设置断点时,它永远不会在检查列表框中的项目时触发。 我在这里做错了吗?

C#如何在一天中的特定时间触发事件?

我正在开发一个程序,需要在一天中的某个小时删除一个文件夹(然后重新实例化),这个小时将由用户给出。 小时很可能是在夜间,因为没有人访问该文件夹(它在工作时间以外)。 有没有办法在某个时刻触发该事件? 我知道计时器,但有没有一个更简单的方法来做这个没有计时器,滴答和检查,看看它是什么时间? 编辑 :也许我不够具体。 我想触发一个方法来做某事,而不必先在一个单独的可执行文件中编译它。 此方法是作为Windows服务实现的更大类的一部分。 所以这项服务会持续运行,但是在一天的某个特定时间,它应该触发此function来删除该文件夹。 谢谢。