Comment les contrôles d'accès qui est dans le panneau en c#
- Je utiliser un panneau en c#, winforms et de remplir le tableau avec le pas de zone d'image à l'aide de la boucle
Par exemple, le nom de panneau est panal
foreach (string s in fileNames)
{
PictureBox pbox = new new PictureBox();
pBox.Image = Image.FromFile(s);
pbox.Location = new point(10,15);
.
.
.
.
this.panal.Controls.Add(pBox);
}
maintenant, je veux changer l'emplacement de la picturebox dans une autre méthode.
Le problème est que comment peut maintenant j'ai accès à la pictureboxes donc que je change l'emplacement d'entre eux.
J'essaie d'utiliser le suit, mais il n'est pas le succès.
foreach (Control p in panal.Controls)
if (p.GetType == PictureBox)
p.Location.X = 50;
Mais il y a une erreur. L'erreur est:
System.Windows.Forms.PictureBox' is a 'type' but is used like a 'variable'
- Quelle est l'erreur? Aussi est-ce WPF ou Winforms? Les plus de détails que vous donnez, plus vous aurez de chances d'obtenir la réponse que vous cherchez.
- J'utilise les winforms et l'erreur est une erreur de Système.De Windows.Les formulaires.PictureBox "est un" type "mais est utilisée comme une "variable"
- Le code de C. Ross de résoudre votre problème
Vous devez vous connecter pour publier un commentaire.
Il semble y avoir des fautes de frappe dans cette section (et probablement d'une erreur réelle).
Les fautes de frappe sont
L'erreur est:
Cela doit être:
Ou tout simplement:
Essayez ceci:
Prochaine il peut y avoir des bugs dans votre boucle for.
If (p is PictureBox) { PictureBox pb = (PictureBox)p }
Ne voulez-vous pas
au lieu de
Dans votre deuxième bloc de la période d'après p.GetType == PictureBox est mauvais (pas de délai requis ici)... d'ailleurs, GetType est une méthode/fonction n'est pas une Propriété de sorte qu'il doit être p.GetType()
Vous serait mieux de faire l'objet picturebox une variable privée de la forme elle-même, de sorte que vous pourriez faire des choses avec elle, sans avoir à l'étape si le panneau de commandes de tous les temps.
Je pense que
pourrait être une solution aussi.