private void OnMeasureUpDownValueChanged(NValueChangeEventArgs args)
        {
            NMeasureUpDown measureUpDown = (NMeasureUpDown)args.TargetNode;
            double         value         = (double)args.NewValue;
            NUnit          unit          = measureUpDown.SelectedUnit;

            string unitString = unit.ToString();

            if (value != 1)
            {
                // Make the unit string plural
                if (unit == NUnit.Inch)
                {
                    unitString = "inches";
                }
                else if (unit == NUnit.Foot)
                {
                    unitString = "feet";
                }
                else
                {
                    unitString += "s";
                }
            }

            // Log the event
            m_EventsLog.LogEvent("New value: " + value.ToString() + " " + unitString);
        }
        private NPairBox CreatePairBox(string text, params NUnit[] units)
        {
            NLabel label = new NLabel(text);

            label.HorizontalPlacement = ENHorizontalPlacement.Right;
            label.VerticalPlacement   = ENVerticalPlacement.Center;

            NMeasureUpDown measureUpDown = new NMeasureUpDown(units);

            measureUpDown.Minimum       = Double.MinValue;
            measureUpDown.Maximum       = Double.MaxValue;
            measureUpDown.Value         = 1;
            measureUpDown.DecimalPlaces = 3;
            measureUpDown.UnitComboBox.PreferredWidth = 40;
            measureUpDown.ValueChanged += OnMeasureUpDownValueChanged;

            NPairBox pairBox = new NPairBox(label, measureUpDown, true);

            pairBox.Spacing = 3;
            return(pairBox);
        }