| Цитата(semibug @ 7.10.2011, 10:56) | Вероятно у кнопки и формы есть средства для получения X-координаты, получаем значения и сравниваем (если значения X-координаты могут быть не целочисленными, то сначала вычисляем разницу между координатами, затем сравниваем эту разницу с допустимым отклонением). Если это стандартные кнопка и форма NET созданые дизайнером в студии, то название поля координаты можно увидеть на вкладке свойств (подвигав кнопку и заметив какие поля меняются). |
| Код | using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;
namespace Прыгающая_кнопка1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) { if ((button1.Location.X < this.Height) && (button1.Location.Y < this.Width)) { Random rnd = new Random(); int newX,newY; newX = rnd.Next(-100, Convert.ToInt32(textBox1.Text)); newY = rnd.Next(-5, Convert.ToInt16(textBox1.Text)); if (((newX > 0) && (newX < 100)) && ((newY>0) && (newY<100))) { button1.Left = newX; button1.Top = newY; } else { button1.Left = newX; button1.Top = newY; } } } } }
|
Просто вот был написан соответствующий код, и стало интересно. Так смещать нельзя вправо кнопку, а хочется. И не могу понять, в чем же причина, или как подобрать мне нужное свойство. button1.Right пробовал ругается к сожалению. И не понятно, почему смещает первоначально очень далеко саму кнопку, а потом вроде как нормально работает. Вообщем задача, добиться, чтобы эта кнопка прыгала по всему экрану в разных направлениях.
|