ningshuxia
2025-03-26 6171f94b5ca6c804ac2892d214943ff0ac400d26
WinFrmUI/PBS.WinFrmUI.Hydro/99-map-view/propertyform.cs
@@ -1,10 +1,9 @@
using static Hydro.MapViewEnum;
using System.Data;
namespace Hydro
{
    public partial class PropertyForm : XtraUserControl
namespace HydroUI
{
    public partial class PropertyForm : UserControl
    {
        private IBaseViewModel _selectedObject;
        private MapObjectType _selectedType=  MapObjectType.全部;
@@ -44,7 +43,7 @@
        }
        public void SetObj(object o)
        {
            propertyGrid.SelectedObject = o;
            propertyGridControl1.SelectedObject = o;
            this.Text= o.GetType().Name;
        }
        public void SetObj(IBaseViewModel selectedObject)
@@ -58,54 +57,54 @@
                if (_selectedObject is JunctionViewModel junc)
                {
                    _selectedType = MapObjectType.节点;
                    propertyGrid.SelectedObjects = new JunctionViewModel[] { junc };
                    propertyGridControl1.SelectedObjects = new JunctionViewModel[] { junc };
                }
                else if (_selectedObject is ReservoirViewModel res)
                {
                    _selectedType = MapObjectType.水库;
                    propertyGrid.SelectedObjects = new ReservoirViewModel[] { res };
                    propertyGridControl1.SelectedObjects = new ReservoirViewModel[] { res };
                }
                else if (_selectedObject is TankViewModel tank)
                {
                    _selectedType = MapObjectType.水池;
                    propertyGrid.SelectedObjects = new TankViewModel[] { tank };
                    propertyGridControl1.SelectedObjects = new TankViewModel[] { tank };
                }
                else if (_selectedObject is PipeViewModel pipe)
                {
                    _selectedType = MapObjectType.管线;
                    propertyGrid.SelectedObjects = new PipeViewModel[] { pipe };
                    propertyGridControl1.SelectedObjects = new PipeViewModel[] { pipe };
                }
                else if (_selectedObject is ValveViewModel valve)
                {
                    _selectedType = MapObjectType.阀门;
                    propertyGrid.SelectedObjects = new ValveViewModel[] { valve };
                    propertyGridControl1.SelectedObjects = new ValveViewModel[] { valve };
                }
                else if (_selectedObject is RepeaterViewModel repeater)
                {
                    _selectedType = MapObjectType.重复器;
                    propertyGrid.SelectedObjects = new RepeaterViewModel[] { repeater };
                    propertyGridControl1.SelectedObjects = new RepeaterViewModel[] { repeater };
                }
                //水表
                else if (_selectedObject is MeterViewModel meter)
                {
                    _selectedType = MapObjectType.水表;
                    propertyGrid.SelectedObjects = new MeterViewModel[] { meter };
                    propertyGridControl1.SelectedObjects = new MeterViewModel[] { meter };
                }
                //水泵
                else if (_selectedObject is PumpViewModel pump)
                {
                    _selectedType = MapObjectType.水泵;
                    propertyGrid.SelectedObjects = new PumpViewModel[] { pump };
                    propertyGridControl1.SelectedObjects = new PumpViewModel[] { pump };
                }
                //喷头Nozzle
                else if (_selectedObject is NozzleViewModel nozzle)
                {
                    _selectedType = MapObjectType.喷头;
                    propertyGrid.SelectedObjects = new NozzleViewModel[] { nozzle };
                    propertyGridControl1.SelectedObjects = new NozzleViewModel[] { nozzle };
                } else
                {
                    _selectedType = MapObjectType.全部;
                    propertyGrid.SelectedObjects =new IBaseViewModel[] { selectedObject };
                    propertyGridControl1.SelectedObjects =new IBaseViewModel[] { selectedObject };
                }
                switch (_selectedType)
                {
@@ -180,14 +179,6 @@
        void RefreshListBox()
        {
            if (selectionSet == null) return;
            if (comboBox_type.Items.Count<1)
            {
                foreach (var item in Enum.GetValues(typeof(MapObjectType)))
                {
                    comboBox_type.Items.Add(item);
                }
                comboBox_type.SelectedIndex = 0;
            }
            string txt = comboBox_type.SelectedItem.ToString();
            MapObjectType selectedType = (MapObjectType)Enum.Parse(typeof(MapObjectType), txt);
            // 使用 LINQ 查询筛选选择集
@@ -271,7 +262,7 @@
        bool _isEnable = true;
        private static Dictionary<object, List<object>> _selectedObjectsDict = new Dictionary<object, List<object>>();
        private void propertyGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
        private void propertyGridControl1_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
        {
            //foreach (var item in listBox1.SelectedItems)
            //{
@@ -324,7 +315,7 @@
            {
                return;
            }
            propertyGrid.SelectedObjects = objs;
            propertyGridControl1.SelectedObjects = objs;
@@ -418,7 +409,7 @@
                listBox1.SetSelected(i, true);
            }
            listBox1.SelectedIndexChanged += listBox1_SelectedIndexChanged;
            this.propertyGrid.SelectedObjects =selectionSet. CurrentSelectedObjects?.ToArray();
            this.propertyGridControl1.SelectedObjects =selectionSet. CurrentSelectedObjects?.ToArray();
            GlobalObject.map.selectedObjs.ForEach(o => o.Selected = false);
            if (selectionSet.CurrentSelectedObjects!=null)
            {
@@ -447,7 +438,7 @@
        }
    }
    /*public class SelectionSet
    public class SelectionSet
    {
        public string Name;
        public MapObjectType filterType=MapObjectType.全部;
@@ -531,7 +522,7 @@
        }
        
    }*/
    }