Je veux savoir s'il est possible d'ajouter un attribut à un Control
dans C#.Ajouter des attributs à une classe de contrôle
J'ai une méthode, il reçoit un objet dans le paramètre:
public void CreateTooltip(Object controltoadd = null)
{
var myDiv = new HtmlGenericControl("div");
myDiv.Attributes.Add("width", "100%");
myDiv.Attributes.Add("onmouseover", "ShowHint('" + this.GetType() + "','test');");
myDiv.Attributes.Add("onmouseout", "HideHint();");
if (controltoadd == null)
{
List<Control> listcc = new List<Control>();
for (int i = 0; i < this.Controls.Count; i++)
{
Control cc = this.Controls[i];
string test = cc.GetType().ToString();
listcc.Add(cc);
}
this.Controls.Clear();
for (int i = 0; i < listcc.Count; i++)
{
Control cc = listcc[i];
myDiv.Controls.Add(cc);
}
}
else
{
Control cc = (Control)controltoadd;
//Don't know what to do here...
}
this.Controls.Add(myDiv);
}
Si l'objet est nul, je crée un HtmlGenericControl("div")
puis ajouter la Attributes
que je veux. Mais le problème est lorsque l'objet n'est pas nul, je le convertis en Control
, et la propriété Attributes
n'est pas disponible. J'utilise le contrôle car je ne sais jamais quel est le type de l'objet que j'ai reçu dans le paramètre.
Vous devez jeter comme 'WebControl' ou' HtmlGenericControl' je crois. 'Control' ne contient pas la propriété' Attributes'. Vous pouvez tester l'objet que vous passez en utilisant 'is'. –
Merci! Ça a marché comme sur des roulettes ! : D –
Déplacé vers une réponse! :) –