Изменение цвета при столкновении объектов - C#
Формулировка задачи:
Есть статичная кнопка, и есть кнопка, которая движется по горизонтали. При соприкосновении фигуры
должны поменять цвет.
Помогите, пожалуйста, сделать обработку этого столкновения, нашла на форуме такое свойство, но не знаю
как применить это для button'ов
Вот сама задача с движением кнопки:
private void InstanceRectangleIntersection(PaintEventArgs e) { Rectangle rectangle1 = new Rectangle(50, 50, 200, 100); Rectangle rectangle2 = new Rectangle(70, 20, 100, 200); e.Graphics.DrawRectangle(Pens.Black, rectangle1); e.Graphics.DrawRectangle(Pens.Red, rectangle2); if (rectangle1.IntersectsWith(rectangle2)) { rectangle1.Intersect(rectangle2); if (!rectangle1.IsEmpty) { e.Graphics.FillRectangle(Brushes.Green, rectangle1); } } }
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace lab_1 { public partial class Form1 : Form { int koef = 1; public Form1() { InitializeComponent(); this.Width = 400; button1.Width = 40; button1.Left = 40; button1.BackColor = Color.Gold; timer1.Interval = 500; // 500 миллисекунд timer1.Enabled = true; button1.Click += toolStripButton1_Click; timer1.Tick += timer1_Tick; } private void timer1_Tick(object sender, EventArgs e) { if (button1.Left == (this.Width - button1.Width - 10)) { koef = -1; } else if (button1.Left == 0) { koef = 1; } button1.Left += 10 * koef; } private void toolStripButton1_Click(object sender, EventArgs e) { timer1.Start(); } private void toolStripButton2_Click(object sender, EventArgs e) { timer1.Stop(); } } }
Решение задачи: «Изменение цвета при столкновении объектов»
textual
Листинг программы
private void timer1_Tick(object sender, EventArgs e) { if (button1.Left == (this.Width - button1.Width - 10)) { koef = -1; } else if (button1.Left == 0) { koef = 1; } button1.Left += 10 * koef; if (button1.Bounds.IntersectsWith(button2.Bounds)) button1.BackColor = Color.Red; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д