Извините, но у меня есть еще одна проблема. В моем коде я теперь могу получить его, чтобы случайно присвоить картинки 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.
Не могли бы вы предоставить полный проверяемый пример выполнения? P.S .: Не извиняйся, я тебя не знаю. –
вообще работает 'pictureBox1_Click'? 'pictureBox1.Visible = false;' я не думаю, что его можно щелкнуть – ASh
@BinkanSalaryman, это просто пусто, буквально ничего не видно и не делается, если этот код на месте, поэтому я так запутался, без все изображения есть, если я включил их видимое свойство. –