سوال ساده سی شارپ-رویدادهای صفحه کلید - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

سوال ساده سی شارپ-رویدادهای صفحه کلید

0 امتیاز
من یه برنامه نوشتم که چن تا عکس از بالا میاد پایین بعد تا قبل این که برسه پایین میخوام با یه لیبل برم روی اون‌پیکچر باکسا بعد اون پیکچر باکس مخفی بشه 
بعد این لیبل با دکمه های جهتی کیبورد حرکت میکنه 
کسی میدونه باید چیکار کنم
سوال شده بهمن 26, 1399  بوسیله ی rzyh2004 (امتیاز 21)   2 3 5

1 پاسخ

+1 امتیاز

List<Control> lstPicBoxes = new List<Control>();
lstPicBoxes.Add(PictureBox1); 
// add other pictureboxes to list ... 



//private void label1_KeyDown(object sender, KeyEventArgs e)  
// or
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    switch (e.KeyCode)
    {
        case Keys.Up:
            label1.Location = new Point(label1.Location.X, label1.Location.Y - 1);
            break;
        case Keys.Down:
            label1.Location = new Point(label1.Location.X, label1.Location.Y + 1);
            break;
        case Keys.Right:
            label1.Location = new Point(label1.Location.X + 1, label1.Location.Y);
            break;
        case Keys.Left:
            label1.Location = new Point(label1.Location.X - 1, label1.Location.Y);
            break;
    }
	
	// 
	for(int i = 0;i< lstPicBoxes.Count; i++)    
	{
		if (label1.Bounds.IntersectsWith(lstPicBoxes[i].Bounds))
		{ 
			lstPicBoxes[i].Visible=false;    
			// or dispose picturebox :
			//this.Controls.Remove(lstPicBoxes[i]);   //  remove from the form
			//lstPicBoxes[i].Dispose();               //  dispose
			//lstPicBoxes.RemoveAt(i);
		}
	}
}

 

پاسخ داده شده بهمن 26, 1399 بوسیله ی ik (امتیاز 571)   1 2 8
...