myFieldComboBox1.Layer = f1;
using ESRI.ArcGIS.Carto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace MyGIS.Model
{
public class MyFieldComboBox : System.Windows.Forms.ComboBox
{
List<string> fields = new List<string>();
ILayer layer = null;
public ILayer Layer
{
get
{
return layer;
}
set
{
//return;
layer = value;
if (layer == null) return;
IFeatureLayer fl = layer as IFeatureLayer;
if (fl == null) return;if (fl.FeatureClass == null) return;
fields = new List<string>();
for (int a = 0; a < fl.FeatureClass.Fields.FieldCount; a++)
{
fields.Add(fl.FeatureClass.Fields.Field[a].Name);
}
DataSource = null;
DataSource = fields;
if (fields.Contains("name"))
this.SelectedItem = "name";
}
}
private void InitializeComponent()
{
this.SuspendLayout();
//
// MyFieldComboBox
//
this.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.ResumeLayout(false);
}
}
}