получает значение с помощью
label1.Left, label1.Top
установите значения с помощью
label1.Location = new Point(x, y);
Не забудьте включить
using System.Windows.Forms;
using System.Drawing; // to use System.Drawing.Point(Label.Left, Label.Top)
Я написал код, который я надеюсь, поможет вам чтобы получить эту идею. Нажмите на ярлык, чтобы получить его координаты.
using System;
using System.Windows.Forms;
using System.Drawing;
class LabelForm : Form
{
Label label1;
//
public LabelForm()
{
label1 = new Label();
label1.Text = "ClickMe";
label1.Location = new Point(10, 10); // This is the place where you set the location of your label. Currently, it is set to 10, 10.
label1.Click += new EventHandler(labelClick);
Controls.Add(label1);
}
//
static void Main(string[] args)
{
LabelForm lf = new LabelForm();
Application.Run(lf);
}
//
protected void labelClick(object o, EventArgs e)
{
// This is how you can get label's positions
int left = label1.Left;
int top = label1.Top;
MessageBox.Show("Left position of the label: " + left
+ "\nTop position of the label: " + top,
"", MessageBoxButtons.OK);
}
}
Затем просто используйте рандомизатор, чтобы установить значения в Point (x, y). Обратите внимание, что вы также должны проверить ширину и высоту окна и вычесть ширину и высоту вашего ярлыка, чтобы не выйти за границы окна.
это winforms? asp.net? wpf? –
@MauricioGracia winforms – Sarah
Являются ли ярлыки в фиксированных положениях на форме, и вы просто меняете свой заказ? – Brian