2016-10-14 2 views
1

Я пытаюсь сделать базовую игру памяти на данный момент в C#, я использую отправителя как PictureBox, чтобы определить min, который выбран для выбранного изображения. После этого я должен проверить, равны ли теги, и здесь im2 и im1 теряет свой адрес. Как я могу сохранить адреса, чтобы они не потеряли?Игра памяти, PictureBox im1 = отправитель как PictureBox; потерял его адрес

public partial class Form1 : Form 
{ 
    int k = 1; 
    PictureBox im1, im2; 
    int r1, r2; 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void Click(object sender, EventArgs e) 
    { 

     if (k == 1) 
     { 
      PictureBox im1 = sender as PictureBox;`enter code here` 
      r1 = Convert.ToInt16(im1.Tag); 
      string s = "slike\\sl"; 
      s = s + r1.ToString() + ".jpg"; 
      Image i = Image.FromFile(@s); 
      im1.Image = i; 
      k = 2; 


     } 
     else 
     { 
      PictureBox im2 = sender as PictureBox; 
      r2 = Convert.ToInt16(im2.Tag); 
      string s = "slike\\sl"; 
      s = s + r2.ToString() + ".jpg"; 
      Image i = Image.FromFile(@s); 
      im2.Image = i; 
      k = 0; 
     } 
     if(k==0) { 
      if (r1 == r2) 
      { 
       Image i = Image.FromFile(@"slike\\pogodjeno.jpg"); 
       im1.Image = i; 
       im2.Image = i; 
       im1.Enabled = false; 
       im2.Enabled = false; 
       k = 1; 
      } 
      else 
      { 
       Image i = Image.FromFile(@"slike\\pozadina.jpg"); 
       im1.Image = i; 
       im2.Image = i; 
       r1 = 0; 
       r2 = 0; 
       k = 1; 
      } 

     } 

    } 

     private void pictureBox1_Click(object sender, EventArgs e) 
     { 

     } 
    } 
} 
+0

Просто вырезать код в 'метод Click' и вставить его в общем случае клик , Пример http://stackoverflow.com/a/35528628/2946329 –

ответ

0

Это не кажется правильным:

PictureBox im1, im2; 
private void Click(object sender, EventArgs e) 
{ 
     PictureBox im1 = sender as PictureBox;`enter code here` 

Вы, наверное, хотите:

private void Click(object sender, EventArgs e) 
{ 
     im1 = sender as PictureBox;`enter code here` 
Смежные вопросы