我在VS2012设计器遇到问题。我有一个我设计的用户控件,它是一个文本框(其中包括)用户输入IPv4,IPv6或DNS的位置。我需要验证该文本是否有效(TextChanged事件)报告回主程序。请看下面的代码:C#Designed不能识别自定义用户控件中的自定义事件
private bool addressError;
public EventHandler ErrorChanged;
public bool Error
{
get
{
return addressError;
}
set
{
if (this.Error != value)
{
addressError = value;
OnErrorChanged(this, EventArgs.Empty);
}
}
}
protected virtual void OnErrorChanged(object sender, EventArgs e)
{
if (ErrorChanged != null)
{
ErrorChanged(sender, e);
}
}
然后我的事件处理程序添加到主程序设计师(控制名称为“COM”):
this.Com.ErrorChanged += new System.EventHandler(this.Com_ErrorChanged);
我的问题是,虽然该代码的工作原理完全正如我想要的那样,设计师认为没有ErrorChanged
事件。它报告的确切消息是
“类型‘ModbusCom.Communications’没有名为 ‘ErrorChanged’事件。”
我可以忽略错误并且设计器显示窗体ok。我可以运行这个程序,一切都很好,但是不得不一直告诉它忽略这个问题。有什么我可以解决这个问题吗?帮助表示赞赏!
你实际上是试图通过Modbus通信? (我只是想知道) – 2013-03-20 14:49:03
是的,我是。通过TCP/IP的Modbus RTU – 2013-03-20 14:53:25