попробуй просто отнаследоваться от нужного тебе контрола и там сделать примерно следующее:
public class Class1 : System.Windows.Forms.Button
{
public event EventHandler TagPropertyChanged;
public new object Tag
{
get
{
return base.Tag;
}
set
{
if (base.Tag != value)
{
base.Tag = value;
OnTagPropertyChanged(this, EventArgs.Empty);
}
}
}
public void OnTagPropertyChanged(object sender, EventArgs e)
{
if (null != TagPropertyChanged)
TagPropertyChanged(sender, e);
}
}
единственная проблема, что везде в проекте где использовался старый класс прийдеться заменить объявление на использование нового.