2016-11-29 2 views
0

Dessine plusieurs rectangles sous forme de fenêtres en utilisant graphics.DrawRectangle et ajoute chaque rectangle à un rectangle list.later édite l'emplacement et la taille de ces rectangles. Je doute que je puisse modifier les valeurs d'un rectangle dans une liste de rectangle?Mise à jour d'une liste de rectangle

+0

Réponse courte est "oui". –

+2

Vous ne pouvez pas utiliser 'list [0] .X = 100;' car 'Rectangle' est une structure et un type de valeur. Vous devez assigner un nouveau 'Rectangle' avec le nouvel emplacement et la nouvelle taille au même index. Quand vous écrivez 'list [0] .X = 100;', c'est comme 'var r = list [0]; r.X = 100; Puisque le rectangle est un type de valeur, après 'var r = list [0];', 'r' est une nouvelle instance qui est une copie de' list [0] 'alors changer' rX' ne change pas 'list [0] .X'. Le compilateur détecte l'erreur et génère cette erreur: * Impossible de modifier la valeur de retour de 'System.Collections.Generic.List .this [int]' car ce n'est pas une variable *. –

+0

@Reza Aghaei merci pour cette suggestion.qui m'a aidé – Anjitha

Répondre

1

Vous pouvez le faire:

Rectangle temp = RectList[0]; 
temp.Width = 100; 
temp.Height = 100; 
temp.X = 0; 
temp.Y=0; 
RectList[0] = temp;