Samsa01
Messages postés3Date d'inscriptionlundi 21 septembre 2009StatutMembreDernière intervention20 avril 2010
-
20 avril 2010 à 09:43
Samsa01
Messages postés3Date d'inscriptionlundi 21 septembre 2009StatutMembreDernière intervention20 avril 2010
-
20 avril 2010 à 18:10
Bonjour,
Je suis la pour une question sur les controles en c# (CF 3.5)
J'ai deux question, voila la première situation :
- J'ai un control avec des propriétés
- Quand une de ces propriété est "setter" dans le designer je crée dynamiquement par code un control.
- J'ai donc dans l'affichage du designer mon control de base qui contient mes controls dynamiquement.
Ma question est la suivante :
Est-il possible de cliquer sur le control qui à été ajouter dynamiquement afin de le déplacer dans l'autre control et aussi accéder à toutes ces propriété ?
Je rappel est que ce que je souhaite faire se passe dans le designer de visual studio (2008)
Deuxième Point :
La propriète "Setter" dans le designer est de type "Form"
J'aurais voulu que dans le designer, VS me propose une liste déroulante de toutes les formes du projet or il ne me propose que celle ou j'ai placer mon control.
patatasux
Messages postés18Date d'inscriptionlundi 11 janvier 2010StatutMembreDernière intervention21 mai 2010 20 avril 2010 à 15:51
salut,
je ne suis pas sûr d'avoir tout compris.
Si j'ai bien suivi, tu ajouté avec le designer 2 container, dont dans lequel tu ajoutes dynamiquement d'autres controls.
il est possible de déplacer des contrôles d'un endroit a un autre, cela s'appel le "drag and drop" renseigne toi la dessus, perso, je sais pas faire.
Mais je suis pas sûr que ce soit ça que tu veilles, toi tu voudrais les faire glisser avec visual studio? et non au moment de l'execution comme le "drag and drop" le permet?
si c'est le cas, non, ce n'est pas possible, puisque tes controls sont créé durant l'execution.
Deuxième Point :
La propriète "Setter" dans le designer est de type "Form"
J'aurais voulu que dans le designer, VS me propose une liste déroulante de toutes les formes du projet or il ne me propose que celle ou j'ai placer mon control.
je pense que la réponse au premier point répond a celui-ci. Tu ne peux pas manipuler des controls ajoutés dynamiquement dans visual studio, en revanche.
Si tu vx manipuler leur propriétés, tu devrais px etre le faire lors de leur création.
Samsa01
Messages postés3Date d'inscriptionlundi 21 septembre 2009StatutMembreDernière intervention20 avril 2010 20 avril 2010 à 15:58
Salut patatasux et merci de ta réponse
Tu as saisie ce que je souhaitais faire, un drag and drop pas avec du code mais dans le designer.
En faite j'ai contourner ce problème en crée dans mon control un tableau d'autre control. Ainsi j'ai acces aussi bien au designer (donc déplacer le control) mais aussi aux propriété de chaque Items :)
Cependant, ma deuxième question reste d'actualité en ce qui concerne la liste de tous les formulaire présent dans le programme, car je n'ai toujours que le formulaire sur lequelle je travail qui s'affiche.
Note : Quand je dit crée dynamiquement, je veut dire par la qu'ils sont crée par code.
Cependant le designer de visual studio "compuile" (peut être pas le bon mot) mais en tout cas les control s'affiche le code est excuté.
Samsa01
Messages postés3Date d'inscriptionlundi 21 septembre 2009StatutMembreDernière intervention20 avril 2010 20 avril 2010 à 18:10
Non je vais reprendre mon sujet de facon plus claire et en même temps poser une autre question :
En faite je me suis très mal expliqué lorsque je dit que mes controls sont crée dynamiquement c'est faux. En faite j'ai un control "Controller" qui contient un tableau de control "ImageButton".
Ainsi lorsque je glisse mon control dans le designer de visual studio, je suis capable via les propriété de ce dernier d'ajouter plusieurs "ImageButton" comme je le souhaite et il s'affiche correctement et je peut les deplaces a ma guise.
Mon autre problème est que ImageButton possede un attribut de type "Form" avec get & set pour afficher la propriété ds le designer.
Je souhaiterais que ce soit une liste déroulante qui me permet de choisir une form parmi celle qui sont dans le projet. Or la seul form qu'il me propose est celle dans laquel le control se trouve.
Enfin question bonus :
Au lieu de faire un tableu de ImageButton, je voulais faire un tableau d'une structure qui contient deux choses :
public struct ItemControl
{
public ImageButton image;
public Form form;
}
public class Class1 : Control
{
private ItemControl[] listItems;
public ItemControl[] ListItems
{
get { return listItems; }
set { listItems = value; }
}
}
Le problème avec ca, c'est que quand j'atoure un item dans le designer j'ai le droit a l'erreur suivante : At least one element in the source array could not be cast down to the destination array type
Je ne comprend pas vraiment, je n'ai pas de debugger, je suis un peu derouté par cetter erreur.