well, [defaultValue] is not for setting initialize value for an object, it just change appearance of the property in design time,
[DefaultValue("hello")]
public string txt{get;set}
now in design time when you change the text of this property it would be bold text! for ur purpose u should define ur property as this:
private string _txt="Hello"; /// ur initialize value!!!
public string txt
{
get
{
return _txt;
}
set
{
_txt=value;
}
}