Tag: events

无法加载viewstate

好的,刚刚开始收到此错误,我不知道为什么。 我有一个托管页面,其中包含listview和一个带有usercontrol的面板。 列表视图使用链接按钮加载记录。 单击链接按钮以编辑该特定记录 – 它将在窗体视图(在用户控件内)中加载,并进入编辑模式。 在formview中发生更新后,我正在触发我的主机页面正在侦听的事件。 托管页面然后重新绑定列表视图以显示更新的数据。 这都在更新面板内。 所以这一切都有效 – 但是当我点击另一个链接按钮时,我得到以下错误: Message: Sys.WebForms.PageRequestManagerServerErrorException: Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls added during a post-back must […]

如何在C#中取消CellEnter / CellLeave事件?

我有DataGridView 。 在一些单元格中,我添加了一些数据 如果我正在编辑的单元格是空的并且我即将离开它,则会向用户显示消息“bla-bla-bla”,并且处于编辑模式的单元格必须接收焦点。 为此,我使用CellEnter , CellLeave , CellEndEdit等,我想在检查单元格中输入的值后取消这些事件。 但我不是,它不起作用。 请帮我。 很高兴看到任何建议。 这是我的代码的变体。 我尝试过其他活动,但这很天真 。 private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e) { if (dataGridView1[e.ColumnIndex, e.RowIndex] == null) { MessageBox.Show(“Empty cell!”); dataGridView1.CurrentCell = dataGridView1[e.ColumnIndex, e.RowIndex]; } }

挂钩进入事件时C#中的COMException

我试图挂钩COM对象上的事件时收到COMexception。 这是我试图执行的代码。 COMClass a = IComClass as ComClass; a.SomeEvent += new SomeEvent_EventHandler(MethodNameHere); 第二行使用以下信息抛出COMException类型的exception: System.Runtime.InteropServices.COMException被捕获 消息=“来自HRESULT的exception:0x80040202” 来源= “mscorlib程序” 错误码= -2147220990 StackTrace:at System.Runtime.InteropServices.ComTypes.IConnectionPoint.Advise(Object pUnkSink,Int32&pdwCookie) 有没有人有任何想法,为什么我无法挂钩到COM事件或有一个解决方法来挂钩COM事件? 克里斯

WinRT事件如何与.NET互操作

在Rx团队Bart De Smet的最新video中:Rx Update – .NET 4.5,Async,WinRT我看到一些非常奇怪的元数据暴露给.NET的WinRT事件,更多的是prenexly – add_ / remove_ pair方法签名: EventRegistrationToken add_MyEvent(EventHandler handler) { … } void remove_MyEvent(EventRegistrationToken registrationToken) { … } 它看起来非常棒,允许通过“处理”注册令牌取消订阅事件(Rx做同样的事情,从Subscribe()方法返回IDisposable实例)。 因此,可以轻松取消订阅事件中的lamba表达式,但…… 那么C#如何允许处理这类事件呢? 在.NET中,可以使用委托上的一个实例订阅方法(静态和实例),并使用指向同一方法的完全另一个委托实例取消订阅。 因此,如果我使用WinRT事件并且只是在C#中取消订阅某个委托类型实例…编译器在哪里获得正确的EventRegistrationToken ? 所有这些魔法如何运作? – 更新 – 实际上EventRegistrationToken不允许简单地通过调用某种Dispose()方法取消订阅,这真的很遗憾: public struct EventRegistrationToken { internal ulong Value { get; } internal EventRegistrationToken(ulong value) public static bool operator ==(EventRegistrationToken left, EventRegistrationToken […]

如何从WPF KeyDown事件中获取普通字符?

我想要来自WPF KeyDown事件的e.Key属性传递的ASCII字符。

RoutedEventHandler和EventHandler之间的区别

有什么区别 this.Loaded += new RoutedEventHandler(MainWindow_Loaded); 和 childWindow.MyEvent += new EventHandler(childWindow_MyEvent);

使用IObservable而不是事件

我最近一直在阅读有关IObservable的内容。 到目前为止,我已经查看了各种SO问题,并观看了他们可以做什么的video。 我正在思考的整个“推动”机制非常棒,但我仍在努力弄清楚究竟是什么。 从我的读数来看,我认为在某种程度上IObservable可以被“监视”,而IObservers则是“观察者”。 所以现在我要尝试在我的应用程序中实现它。 在我开始之前,有一些事情我想坚持下去。 我已经看到IObservable与IEnumerable相反,但是,我无法在我的特定实例中看到任何可以合并到我的应用程序中的地方。 目前,我大量使用事件,以至于我可以看到“管道”开始变得无法管理。 我想,IObservable可以帮助我。 考虑以下设计,这是我的应用程序中的I / O包装器(仅供参考,我通常需要处理字符串): 我有一个名为IDataIO的基本接口: public interface IDataIO { event OnDataReceived; event OnTimeout: event OnTransmit; } 现在,我目前有三个实现此接口的类,这些类中的每一个都以某种方式利用异步方法调用,引入了某种类型的multithreading处理: public class SerialIO : IDataIO; public class UdpIO : IDataIO; public class TcpIO : IDataIO; 每个类的一个实例都包含在我的最终类中,称为IO(它也实现了IDataIO – 遵循我的策略模式): public class IO : IDataIO { public SerialIO Serial; public UdpIO Udp; […]

复制代表

我刚刚在MSDN上阅读有关事件的页面,我遇到了一段令我困惑的示例代码。 有问题的代码是这样的: // Make a temporary copy of the event to avoid possibility of // a race condition if the last subscriber unsubscribes // immediately after the null check and before the event is raised. EventHandler handler = RaiseCustomEvent; 我理解代码的意图,但我没有看到该特定行如何制作任何东西的副本。 它所做的只是复制参考 ; 它实际上并没有制作委托实例的深层副本。 所以为此,它实际上并没有完全阻止竞争条件。 我错过了一些明显的东西吗?

如何在TextChanged中获取新文本?

在TextBox中,我正在监视文本更改。 在做一些事情之前我需要检查文本。 但我现在只能检查旧文本。 我怎样才能获得新文本? private void textChanged(object sender, EventArgs e) { // need to check the new text } 我知道.NET Framework 4.5有新的TextChangedEventArgs类,但我必须使用.NET Framework 2.0。

WPF CheckBox的已检查和未检查状态的单独事件:为什么?

是否有像Changed这样的单一事件可以用来同时处理这两个事件? 他们为什么这样分开? 是因为两者都有一个事件需要你通过名称引用控件,你需要在XAML中指定,这会增加混乱吗?