Error modificando propiedad

29/05/2006 - 18:49 por Alberto | Informe spam
Cuando escribo la siguiente instrucción:

pictureBox.Location.X = panel1.Size.Width - 50;

Me da un error y dice que no puede modificar el valor porque
Windows.Forms.Control.Location no es un variable. En cambio, la X es una
propiedad de escritura-lectura. ¿Porqué ocurre esto?

Gracias
 

Leer las respuestas

#1 Octavio Hernandez
30/05/2006 - 03:27 | Informe spam
Alberto,

El problema es que efectivamente, Location no es una variable, sino una
propiedad de tipo Point. O sea, que es generada por un método getter. Y como
Point es una estructura (un tipo valor), aún cuando la propiedad estuviera
respaldada por un campo se devolvería UNA COPIA del mismo. Al cambiarle el
valor a X o Y por separado estarías modificando LA COPIA, y no el campo
original... Por eso el compilador te da ese error.

Haz esto:

pictureBox.Location = new Point(panel1.Size.Width - 50,
pictureBox.Location.Y);

Slds - Octavio


"Alberto" escribió en el mensaje
news:ukGXL$
Cuando escribo la siguiente instrucción:

pictureBox.Location.X = panel1.Size.Width - 50;

Me da un error y dice que no puede modificar el valor porque
Windows.Forms.Control.Location no es un variable. En cambio, la X es una
propiedad de escritura-lectura. ¿Porqué ocurre esto?

Gracias


Preguntas similares