private void CmbUnitsSelectedIndexChanged(object sender, EventArgs e) { if (_disableUnitWarning) { return; } GraphicsUnit destination = Global.ParseEnum <GraphicsUnit>(cmbUnits.SelectedIndex); switch (destination) { case GraphicsUnit.World: if (_symbolizer.ScaleMode != ScaleMode.Geographic) { if (MessageBox.Show(SymbologyFormsMessageStrings.ForceDrawingToUseGeographicScaleMode, SymbologyFormsMessageStrings.ChangeScaleMode, MessageBoxButtons.YesNo) == DialogResult.No) { cmbUnits.SelectedIndex = Global.GetEnumIndex(_symbolizer.Units); return; } _symbolizer.ScaleMode = ScaleMode.Geographic; } break; default: if (_symbolizer.ScaleMode == ScaleMode.Geographic) { if (MessageBox.Show(SymbologyFormsMessageStrings.ForceDrawingToUseSymbolicScaleMode, SymbologyFormsMessageStrings.ChangeScaleMode, MessageBoxButtons.YesNo) == DialogResult.No) { cmbUnits.SelectedItem = _symbolizer.Units.ToString(); return; } _symbolizer.ScaleMode = ScaleMode.Symbolic; } break; } GraphicsUnit source = _symbolizer.Units; double scale = 1; if (source == GraphicsUnit.Inch && destination == GraphicsUnit.Millimeter) { scale = 25.4; } if (source == GraphicsUnit.Millimeter && destination == GraphicsUnit.Inch) { scale = 1 / 25.4; } _symbolizer.Scale(scale); _symbolizer.Units = destination; UpdateSymbolControls(); }
private void CmbUnitsSelectedIndexChanged(object sender, EventArgs e) { if (_disableUnitWarning) { return; } if (cmbUnits.SelectedItem.ToString() == "World" && _symbolizer.ScaleMode != ScaleMode.Geographic) { if (MessageBox.Show(SymbologyFormsMessageStrings.ForceDrawingToUseGeographicScaleMode, SymbologyFormsMessageStrings.ChangeScaleMode, MessageBoxButtons.YesNo) == DialogResult.No) { cmbUnits.SelectedItem = _symbolizer.Units.ToString(); return; } _symbolizer.ScaleMode = ScaleMode.Geographic; } if (cmbUnits.SelectedItem.ToString() != "World" && _symbolizer.ScaleMode == ScaleMode.Geographic) { if (MessageBox.Show(SymbologyFormsMessageStrings.ForceDrawingToUseSymbolicScaleMode, SymbologyFormsMessageStrings.ChangeScaleMode, MessageBoxButtons.YesNo) == DialogResult.No) { cmbUnits.SelectedItem = _symbolizer.Units.ToString(); return; } _symbolizer.ScaleMode = ScaleMode.Symbolic; } GraphicsUnit destination = (GraphicsUnit)Enum.Parse(typeof(GraphicsUnit), cmbUnits.SelectedItem.ToString()); GraphicsUnit source = _symbolizer.Units; double scale = 1; if (source == GraphicsUnit.Inch && destination == GraphicsUnit.Millimeter) { scale = 25.4; } if (source == GraphicsUnit.Millimeter && destination == GraphicsUnit.Inch) { scale = 1 / 25.4; } _symbolizer.Scale(scale); UpdateSymbolControls(); }