Visual Basic.NET - Sintaxis de if en Visual Studio

   
Vista:
Imágen de perfil de lupita

Sintaxis de if en Visual Studio

Publicado por lupita (3 intervenciones) el 26/04/2014 19:22:28
Hola amigos, tengo la siguiente condición en visual:
If (PictureBox1.Image = ImageList1.Images(0) And PictureBox2.Image = ImageList1.Images(1) And PictureBox3.Image = ImageList1.Images(2) And PictureBox4.Image = ImageList1.Images(3)) Then
MsgBox("imagenes ordenadas")

Estoy haciendo un rompecabezas en visual y lo que pretendo hacer con esta condición es que cuando las imágenes estén en el picture box que le corresponde a cada una significará que el rompecabezas está ordenado y mandará un mensaje de confirmación. Las imágenes están almacenadas en un Image list, pero tengo un problema ya que me marca el siguiente error en la condición: El operador '=' no está definido para los tipos 'System.Drawing.Image'

¿Qué podría ser? está mal toda la sintaxis?, supongo debe ser algo sencillo, pero por este error ya no he podido avanzar, espero alguien pueda ayudarme. Gracias y saludos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Sintaxis de if en Visual Studio

Publicado por Pico (168 intervenciones) el 26/04/2014 21:27:35
Una imagen no puede compararse con un =. Lo que puede compararse con un = es por ejemplo un entero, por ejemplo el Tag que tiene como propiedad toda Image. O sea, If (PictureBox1.Image.Tag = ImageList1.Images(0).Tag. Le pones el mismo Tag a las imágenes que consideres que son iguales y apañado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de lupita

Sintaxis de if en Visual Studio

Publicado por lupita (3 intervenciones) el 27/04/2014 21:17:47
Gracias por responder. Ya no me marca el error, el problema es que en cuanto corro el programa me muestra el mensaje de imágenes ordenadas y cuando las ordeno no muestra el mensaje. Supuse que funcionaría con esta instrucción.

Esta es una parte de mi código, espero puedan decirme dónde acomodar la instrucción o qué modificación debo hacerle.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
 
        If (PictureBox1.Image.Tag = ImageList1.Images(0).Tag And PictureBox2.Image.Tag = ImageList1.Images(1).Tag And PictureBox3.Image.Tag = ImageList1.Images(2).Tag And PictureBox4.Image.Tag = ImageList1.Images(3).Tag) Then
        MsgBox("imagenes ordenadas")
  End If
End Sub
 
  Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
        TextBox1.Text += 1
        If PictureBox2.BackColor = Color.White Then
            PictureBox2.Image = PictureBox1.Image
            PictureBox2.BackColor = Color.Gray
            PictureBox1.Image = ImageList1.Images(0)
            PictureBox1.BackColor = Color.White
        End If
        If PictureBox3.BackColor = Color.White Then
            PictureBox3.Image = PictureBox1.Image
            PictureBox3.BackColor = Color.Gray
            PictureBox1.Image = ImageList1.Images(0)
            PictureBox1.BackColor = Color.White
        End If
    End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sintaxis de if en Visual Studio

Publicado por Pico (168 intervenciones) el 27/04/2014 21:51:06
Te falta la mitad, ponerle a las imágenes que sean iguales el mismo número de Tag. Se trata de que si son iguales tienen el mismo Tag y si son distintas, distinto Tag, pero tienes que ponérselo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de lupita

Sintaxis de if en Visual Studio

Publicado por lupita (3 intervenciones) el 29/04/2014 22:39:45
Hola de nuevo, ya he igualado los picture box con el Tag que da el ImageList, pero sigue sin funcionar, ya intenté de varias formas y nada. Espero pudieran darme una sugerencia. Lo igualé de esta forma:
PictureBox1.Image.Tag = ImageList1.Images(2).Tag
PictureBox2.Image.Tag = ImageList1.Images(0).Tag
PictureBox3.Image.Tag = ImageList1.Images(1).Tag
PictureBox4.Image.Tag = ImageList1.Images(3).Tag

No me marca errores pero no me manda el mensaje cuando las imagenes ya estan ordenadas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Sintaxis de if en Visual Studio

Publicado por Pico (168 intervenciones) el 30/04/2014 15:49:30
¿Y qué vale cada Tag?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar