2015-03-25 2 views
-1

Извините, но у меня есть еще одна проблема. В моем коде я теперь могу получить его, чтобы случайно присвоить картинки PictureBoxes, но к сожалению, я не могу получить любой из PictureBoxes, чтобы стать видимым, при нажатии их, это событие должно произойти:Picturebox не видно

private void pictureBox1_Click(object sender, EventArgs e) 
    { 
     // The timer is only on after two non-matching 
     // icons have been shown to the player, 
     // so ignore any clicks if the timer is running 
     if (timer1.Enabled == true) 
     { 
      return; 
     } 


     PictureBox clickedpicturebox = sender as PictureBox; 

     if (clickedpicturebox == null) 
     { 
      // If the clicked picture is visible, the player clicked 
      // an icon that's already been revealed -- 
      // ignore the click 
      if (clickedpicturebox.Visible == true) 
       return; 

      // If firstClicked is null, this is the first icon 
      // in the pair that the player clicked, 
      // so set firstClicked to the picturebox that the player 
      // clicked, make it visible, and return 
      if (firstClicked.Tag == null) 
      { 
       clickedpicturebox = firstClicked; 
       firstClicked.Tag = clickedpicturebox.Tag; 
       firstClicked.Visible = true; 

      } 

      // If the player gets this far, the timer isn't 
      // running and firstClicked isn't null, 
      // so this must be the second icon the player clicked 
      // Set its property to visible 
      clickedpicturebox = secondClicked; 
      secondClicked.Tag = clickedpicturebox.Tag; 
      secondClicked.Visible = true; 

      // If the player gets this far, the player 
      // clicked two different icons, so start the 
      // timer (which will wait three quarters of 
      // a second, and then hide the icons) 
      timer1.Start(); 
     } 

    } 

Но по какой-то причине, даже если Я снимаю его до строки, которая гласит:

PictureBox clickedpicturebox = отправитель как PictureBox; clickedpicturebox.Visible = true;

Он по-прежнему не работает, не так ли, потому что я выбрал несколько снимков для одновременного применения события?

Кроме того, если вам это нужно, у меня есть свойства первого изображения здесь, все остальные графические ящики, по сути, одинаковы.

// 
     // pictureBox1 
     // 
     this.pictureBox1.BackColor = System.Drawing.Color.Transparent; 
     this.pictureBox1.Dock = System.Windows.Forms.DockStyle.Fill; 
     this.pictureBox1.Location = new System.Drawing.Point(5, 5); 
     this.pictureBox1.Name = "pictureBox1"; 
     this.pictureBox1.Size = new System.Drawing.Size(125, 119); 
     this.pictureBox1.TabIndex = 0; 
     this.pictureBox1.TabStop = false; 
     this.pictureBox1.Visible = false; 
     this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click); 

EDIT: Я хотел бы поблагодарить всех, проблема теперь решена, я использовал метки позволяют мне легко взаимодействовать между цветами переднего плана и фона, что позволяет легко перехода между меткой и PictureBox.

+0

Не могли бы вы предоставить полный проверяемый пример выполнения? P.S .: Не извиняйся, я тебя не знаю. –

+2

вообще работает 'pictureBox1_Click'? 'pictureBox1.Visible = false;' я не думаю, что его можно щелкнуть – ASh

+0

@BinkanSalaryman, это просто пусто, буквально ничего не видно и не делается, если этот код на месте, поэтому я так запутался, без все изображения есть, если я включил их видимое свойство. –

ответ

0

H W и ASh оба правильны, проблема решена.