Я попытался программно установить расположение метки, но компилятор говорит, что это не переменная,
label1.Location.X = 200;// shows an error
есть ли какой-либо трюк, который я мог бы использовать для перемещения ярлыков, вокруг которых не было скрытия и отображения элементов управления.
Эта технология - визуальный С#, а не WPF.
Я ищу способ перемещения некоторого текста в форме, я разделил символы текста, метки для каждого, а также математическую формулу
(x',y')=center;x'=200,y'=200,r=100
(x,y)=point on the circle.
sqr(x-x')+sqr(y-y')=sqr(r) => sqr(x-200)+sqr(y-200)=10000 => sqr(x)-400x+sqr(y)-400y+70000=0 =>
x1=(400+sqrt(160000-4sqr(y)+1600y-280000))/2 ;
x2=(400-sqrt(160000-4sqr(y)+1600y-280000))/2
Также я думаю об использовании потоков, чтобы обновить форму и создать движение, это всего лишь некоторые идеи, которые я пытаюсь выработать с тех пор, как вы просите.
большое спасибо.
Каждый.NET-программист делает эту ошибку хотя бы один раз. Свойством Location является Point, тип значения. Когда вы извлекаете его значение, вы получаете копию, как ведут себя типы значений. Вы обновляете свойство X этой копии, компилятор может сказать, что это не то, что вы имели в виду.
Вы должны назначить Point для обновления значения свойства:
label1.Location = new Point(200, label1.Location.Y);
Или используйте свойство, которое было сделано, чтобы избежать необходимости писать этот код:
label1.Left = 200;
Чтобы правильно изменить расположение метки, вы должны установить для Location
значение (а не свойство X для Location
).
lbl.Location = new Location(20, 50);
Например, если вы хотите сохранить Y-координаты, вы можете:
lbl.Location = new Location(20, lbl.Location.Y);