using System; using System.Collections.Generic; using System.Windows.Forms; using DevComponents.DotNetBar; using GeoScene.Globe; namespace Cyberpipe { public partial class FrmFlow : Office2007Form { private GSOGlobeControl globeControl; private GSOLayer layer; List<string> pipelineLayerNames; public FrmFlow(GSOGlobeControl ctl,List<string> pipeLayers) { InitializeComponent(); globeControl = ctl; pipelineLayerNames = pipeLayers; } /// <summary> /// 窗体初始化事件处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void FrmFlow_Load(object sender, EventArgs e) { cboxLayer.Items.Clear(); for (int i = 0; i < pipelineLayerNames.Count; i++) { cboxLayer.Items.Add(pipelineLayerNames[i]); } } /// <summary> /// 确定按钮事件处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_OK_Click(object sender, EventArgs e) { if (cboxLayer.SelectedIndex == -1) { MessageBox.Show("请选择管线图层"); return; } // Flow(sender, cboxLayer.SelectedItem.ToString()); NetworkAnalysisTool.FlowDirectionAnalysis(layer); globeControl.Refresh(); // this.Close(); } /// <summary> /// 下拉框选中项改变事件处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cboxLayer_SelectedIndexChanged(object sender, EventArgs e) { if (cboxLayer.SelectedIndex != -1) { layer = globeControl.Globe.Layers.GetLayerByCaption(cboxLayer.SelectedItem.ToString()); } } /// <summary> /// 取消事件处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_Cancel_Click(object sender, EventArgs e) { Close(); } private void FrmFlow_FormClosed(object sender, FormClosedEventArgs e) { NetworkAnalysisTool.ClearFlowDirectionAnalysis(); } } }