в моем приложении у меня есть элемент управления LineShape и пользовательский элемент управления (по сути, PictureBox с меткой).
Я хочу, чтобы LineShape изменил координаты одной из своих точек в соответствии с расположением пользовательского элемента управления.
У меня была идея установить ссылку на точку LineShape внутри пользовательского элемента управления и добавить обработчик события изменения местоположения, который изменяет координаты ссылочной точки.
Однако в Point есть структура, представляющая собой тип значения, поэтому он не будет работать. У кого-нибудь есть идеи, как сделать ссылку на структуру, или, может быть, кто-то знает обходной путь для моей проблемы?
Я попробовал решение относительно использования типа Nullable, но оно все еще не работает. Вот как я определяю поле в моем пользовательском элементе управления (DeviceControl):
private Point? mConnectionPoint;
И реализация обработчика событий изменения местоположения:
private void DeviceControl_LocationChanged(object sender, EventArgs e)
{
if (mConnectionPoint != null)
{
DeviceControl control = (DeviceControl)sender;
Point centerPoint= new Point();
centerPoint.X = control.Location.X + control.Width / 2;
centerPoint.Y = control.Location.Y + control.Height / 2;
mConnectionPoint = centerPoint;
}
}