У мене є winforms з етикеткою на головній форміі я шукаю спосіб встановити мітку в% від розміру форми. Отже, навіть якщо форма повторно розмір і мітка встановлена на y = 10% і x = 10%, незалежно від того, як форма буде повторно розміру, мітка залишається в тому ж місці. Я намагався використовувати розташування x та y, але не працює. Дякуємо за будь-яку допомогу та поради.
EDIT:
Скажімо, у мене є зображення на моїй формі, а етикетка встановлена трохи вище мережі IP, тому, коли форма змінюється, етикетка також повинна регулюватися і бути більш-менш над IP-мережею.
Відповіді:
0 для відповіді № 1Найпростішим способом зробити це, є обробка ResizeEnd
події форми.
Всередині цієї події ви можете розрахувати відносну позицію, як слід
private void SampleForm_ResizeEnd(object sender, EventArgs e)
{
lblSample.Location = new Point(Convert.ToInt32(((double)this.Size.Width * 0.1)), Convert.ToInt32(((double)this.Size.Height * 0.1)));
}
Природно, цей параметр може бути доданий до методу, що рефакторується, який приймає a Size
і% значення в і виходів a Point
об'єкт для полегшення повторного використання через рішення.