Изменение местоположения метки

1

Я попытался программно установить расположение метки, но компилятор говорит, что это не переменная,

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

Также я думаю об использовании потоков, чтобы обновить форму и создать движение, это всего лишь некоторые идеи, которые я пытаюсь выработать с тех пор, как вы просите.

большое спасибо.

  • 2
    Мы жаждем кода.
  • 0
    Можете ли вы дать более подробную информацию? В противном случае это догадки - какая технология? Winforms? WPF? MVC? Любой код? В чем ошибка? и т.д .. помогите нам, чтобы помочь вам
Показать ещё 1 комментарий
Теги:

2 ответа

3
Лучший ответ

Каждый.NET-программист делает эту ошибку хотя бы один раз. Свойством Location является Point, тип значения. Когда вы извлекаете его значение, вы получаете копию, как ведут себя типы значений. Вы обновляете свойство X этой копии, компилятор может сказать, что это не то, что вы имели в виду.

Вы должны назначить Point для обновления значения свойства:

  label1.Location = new Point(200, label1.Location.Y);

Или используйте свойство, которое было сделано, чтобы избежать необходимости писать этот код:

  label1.Left = 200;
2

Чтобы правильно изменить расположение метки, вы должны установить для Location значение (а не свойство X для Location).

lbl.Location = new Location(20, 50);

Например, если вы хотите сохранить Y-координаты, вы можете:

lbl.Location = new Location(20, lbl.Location.Y);
  • 0
    О, здорово, что сделал бы это, большое спасибо.
  • 0
    Возможно, я что-то не так понял, так как у меня нет VS-атма, но я уверен, что оттуда можно разобраться. Рад помочь. редактировать: полностью проверить ответ Ганса

Ещё вопросы

Сообщество Overcoder
Наверх
Меню