Не похоже, что вы можете остановить это. Я взглянул на код для установщика TreeNode.BackColor:
[SRDescription("TreeNodeBackColorDescr"), SRCategory("CatAppearance")]
public Color BackColor
{
get
{
if (this.propBag == null)
{
return Color.Empty;
}
return this.propBag.BackColor;
}
set
{
Color backColor = this.BackColor;
if (value.IsEmpty)
{
if (this.propBag != null)
{
this.propBag.BackColor = Color.Empty;
this.RemovePropBagIfEmpty();
}
if (!backColor.IsEmpty)
{
this.InvalidateHostTree();
}
}
else
{
if (this.propBag == null)
{
this.propBag = new OwnerDrawPropertyBag();
}
this.propBag.BackColor = value;
if (!value.Equals(backColor))
{
this.InvalidateHostTree();
}
}
}
}
Всякий раз, когда изменяется BackColor, в дереве, содержащем узел, вводится недействительное значение. Опять же, глядя на функцию InvalidateHostTree, нет никаких флагов, которые можно установить, чтобы остановить обновление.