private void button8_Click(object sender, EventArgs e) { using (frmDataProviderSelector frm = new frmDataProviderSelector()) { frm.StartPosition = FormStartPosition.CenterScreen; if (frm.ShowDialog() == System.Windows.Forms.DialogResult.OK) { IRasterDataProvider dataProvider = null; bool isNew = false; try { dataProvider = frm.DataProvider; int[] bandNos = frm.BandNos; isNew = frm.IsNewDataProvider; DoStat(dataProvider, bandNos); } finally { if (isNew && dataProvider != null) { dataProvider.Dispose(); } } } } }
public override void Execute() { ICanvasViewer viewer = _smartSession.SmartWindowManager.ActiveCanvasViewer; if (viewer == null) { return; } IRasterDrawing drawing = viewer.ActiveObject as IRasterDrawing; if (drawing == null) { return; } int[] aoi = GetAOI(); using (frmDataProviderSelector frm = new frmDataProviderSelector(aoi != null)) { frm.StartPosition = FormStartPosition.CenterScreen; frm.SetDataProvider(drawing.DataProviderCopy); frm.SetSelectedBands(drawing.SelectedBandNos); if (frm.ShowDialog() == System.Windows.Forms.DialogResult.OK) { IRasterDataProvider dataProvider = null; bool isNew = false; try { dataProvider = frm.DataProvider; int[] bandNos = frm.BandNos; isNew = frm.IsNewDataProvider; bool isApplyAoi = frm.ApplyAoi; if (isApplyAoi && aoi != null) { DoStat(dataProvider, bandNos, aoi); } else { DoStat(dataProvider, bandNos, null); } } finally { if (isNew && dataProvider != null) { dataProvider.Dispose(); } } } } }