/// <summary>
 /// The <see cref="NumericUpDown.ValueChanged"/> event handler for
 /// the <see cref="NumericUpDown"/> <see cref="nudCursorSize"/>.
 /// Updates <see cref="_cursor"/> properties and raises <see cref="CursorStyleChanged"/> event.
 /// </summary>
 /// <param name="sender">Source of the event</param>
 /// <param name="e">An empty <see cref="EventArgs"/></param>
 private void nudCursorSize_ValueChanged(object sender, EventArgs e)
 {
     _cursor.Size   = new SizeF((float)nudCursorSize.Value, (float)nudCursorSize.Value);
     _cursor.Center = new PointF(pnlPreview.Width / 2, pnlPreview.Height / 2);
     pnlPreview.Invalidate();
     OnCursorStyleChanged(new ShapeEventArgs((VGElement)_cursor.Clone()));
 }
 /// <summary>
 /// The <see cref="ComboBox.SelectionChangeCommitted"/> event handler for
 /// the <see cref="ComboBox"/> <see cref="cbbCursorType"/>.
 /// Updates <see cref="_cursor"/> properties and raises <see cref="CursorStyleChanged"/> event.
 /// </summary>
 /// <param name="sender">Source of the event</param>
 /// <param name="e">An empty <see cref="EventArgs"/></param>
 private void cbbCursorType_SelectionChangeCommitted(object sender, EventArgs e)
 {
     VGCursor.DrawingCursors cursorType = (VGCursor.DrawingCursors)Enum.Parse(
         typeof(VGCursor.DrawingCursors), cbbCursorType.SelectedItem.ToString());
     _cursor = new VGCursor(_cursor.Pen, cursorType, _cursor.Width, _cursor.StyleGroup);
     CheckForCorrectSize();
     _cursor.Center = new PointF(pnlPreview.Width / 2, pnlPreview.Height / 2);
     pnlPreview.Invalidate();
     OnCursorStyleChanged(new ShapeEventArgs((VGElement)_cursor.Clone()));
 }