Donc, je ne suis pas vraiment sûr pourquoi cela se produit, mais je cours à travers certains DataRows où j'ai le nom du contrôle, la propriété et la valeur que je vouloir définir. Tout fonctionne bien sauf quand je définis la propriété TEXT d'un bouton. Pour une raison quelconque, l'événement click est appelé ...System.Reflection.PropertyInfo.SetValue() appel gestionnaire d'événements par défaut du bouton
est ici une partie du code que j'ai:
string controlName, value, property;
Control currentControl = null;
System.Reflection.PropertyInfo propertyInfo = null;
// run through all rows in the table and set the property
foreach (DataRow r in languageDataset.Tables[_parentForm.Name].Rows)
{
controlName = r["ControlName"].ToString().ToUpper();
value = r["Value"].ToString();
property = r["Property"].ToString();
// check all controls on the form
foreach (Control c in formControls)
{
// only change it if its the right control
if (c.Name.ToUpper() == controlName)
{
propertyInfo = c.GetType().GetProperty(property);
if (propertyInfo != null)
propertyInfo.SetValue(c, value, null); ******Calls Event Handler?!?!******
//
currentControl = c;
break;
}
}
}
Alors, pourquoi dans le monde serait-il appeler le gestionnaire d'événements lors de la configuration de la valeur? Voici ce que je suis mise avec qui cause ceci:
<SnappletChangePassword>
<ControlName>buttonAcceptPassword</ControlName>
<Property>Text</Property>
<Value>Accept</Value>
</SnappletChangePassword>
Êtes-vous absolument certain d'appeler le gestionnaire Click plutôt que le gestionnaire TextChanged? Essayer de reproduire maintenant si - intéressant ... –