2,143
社区成员
发帖
与我相关
我的任务
分享
private void Form1_Load(object sender, EventArgs e)
{
OpenSDEWorkspace("xt-fumeizhi-01", "5151/tcp", "xt", "sa", "123", "sde.DEFAULT");
#region
//绑定要素到控件
m_mapControl = (IMapControl3)this.axMapControl1.Object;
m_pageLayoutControl = (IPageLayoutControl2)this.axPageLayoutControl1.Object;
//初始化controls synchronization calss
m_controlsSynchronizer = new
ControlsSynchronizer(m_mapControl, m_pageLayoutControl);
//把MapControl和PageLayoutControl绑定起来(两个都指向同一个Map),然后设置MapControl为活动的Control
m_controlsSynchronizer.BindControls(true);
//为了在切换MapControl和PageLayoutControl视图同步,要添加Framework Control
m_controlsSynchronizer.AddFrameworkControl(axToolbarControl1.Object);
m_controlsSynchronizer.AddFrameworkControl(this.axTOCControl1.Object);
// 添加打开命令按钮到工具条
OpenNewMapDocument openMapDoc = new OpenNewMapDocument(m_controlsSynchronizer);
axToolbarControl1.AddItem(openMapDoc, -1, 0, false, -1, esriCommandStyles.esriCommandStyleIconOnly);
#endregion
}
public IWorkspace OpenSDEWorkspace(string Server, string Instance, string Database, string User, string Password, string version)
{
IPropertySet pPropSet = new PropertySetClass();
IFeatureDataset pFeatureDataset;
//设置SDE连接属性信息
IWorkspaceFactory pSdeFact = new SdeWorkspaceFactoryClass();
pPropSet.SetProperty("SERVER", Server);
pPropSet.SetProperty("INSTANCE", Instance);
pPropSet.SetProperty("DATABASE", Database);
pPropSet.SetProperty("USER", User);
pPropSet.SetProperty("PASSWORD", Password);
pPropSet.SetProperty("VERSION", version);
try
{
//打开一个工作空间
pWorkspace = pSdeFact.Open(pPropSet, 0);
if (pWorkspace is IFeatureWorkspace)
{
pFeatureWorkspace = pWorkspace as IFeatureWorkspace;
}
//pFeatureWorkspace = pSdeFact.Open(pPropSet, 0) as IFeatureWorkspace;
//pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset("cities.sdc");
pFeatureClass = pFeatureWorkspace.OpenFeatureClass("BOU1_4M_L");
pFeatureLayer = new FeatureLayerClass();
pFeatureLayer.FeatureClass = pFeatureClass;
pFeatureLayer.Name = pFeatureClass.AliasName;
//this.RenderLayer(pFeatureLayer);
//pMap = axMapControl1.Map;
axMapControl1.AddLayer(pFeatureLayer);
//pMap.AddLayer(pFeatureLayer);
axMapControl1.Refresh();
}
catch (Exception ex)
{
MessageBox.Show("SDE Cann't Connection");
}
return pWorkspace;
}