nella mia applicazione, ho un controllo LineShape e un controllo personalizzato (essenzialmente un PictureBox con etichetta).Come creare un riferimento a una struttura in C#
Desidero che LineShape modifichi una delle sue coordinate punti, in base alla posizione del controllo personalizzato.
Mi è venuta l'idea di impostare un riferimento a un punto LineShape all'interno del controllo personalizzato e aggiungere il gestore eventi di modifica posizione che modifica le coordinate punto di riferimento.
Tuttavia, in Point è una struttura che è un tipo di valore, quindi non funzionerà. Qualcuno ha idea, come fare riferimento a una struttura o forse qualcuno conosce una soluzione alternativa per il mio problema?
Ho provato la soluzione relativa all'utilizzo del tipo nullable ma ancora non funziona. Ecco il mio modo di definire il campo nel mio controllo personalizzato (DeviceControl):
private Point? mConnectionPoint;
e l'attuazione della posizione gestore evento change:
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;
}
}