您的位置:首页 > 其它

IEngineEditor与IWorkspaceEdit,以及相关的事件监听

2016-04-14 10:26 274 查看
IEngineEditor适用于直接在图层上的编辑,例如使用“要素编辑”工具菜单上的“开始编辑”等工具进行编辑,相应的事件使用IWorkspaceEdit监听,例如以下的代码:

[c-sharp] view
plain copy

private IEngineEditor m_EngineEditor = new EngineEditorClass();

private IEngineEditEvents_Event m_EngineEditEvents ;

private void MainForm_Load(object sender,EventArgs e)

{

//get the MapControl

m_mapControl = (IMapControl3)axMapControl1.Object;

//disable the Save menu (since there is no document yet)

menuSaveDoc.Enabled = false;

m_EngineEditEvents = (IEngineEditEvents_Event)m_EngineEditor;

m_EngineEditEvents.OnStartEditing += new IEngineEditEvents_OnStartEditingEventHandler(m_EngineEditEvents_OnStartEditing);

}

void m_EngineEditEvents_OnStartEditing()

{

MessageBox.Show("Start Editing");

}

IWorkspaceEdit适用于直接对workspace进行的编辑,相应的事件使用IWorkspaceEditEvents_Event监听,例如以下的代码:

[c-sharp] view
plain copy

private IWorkspaceEdit wsEdit;

private IWorkspaceEditEvents_Event wsEditEvents;

private void MainForm_Load(object sender,EventArgs e)

{

//get the MapControl

m_mapControl = (IMapControl3)axMapControl1.Object;

//disable the Save menu (since there is no document yet)

menuSaveDoc.Enabled = false;

wsEdit = MyTool.GetWorkspaceEdit(map1.Map);

wsEditEvents = (IWorkspaceEditEvents_Event)wsEdit;

wsEditEvents.OnStopEditing += new IWorkspaceEditEvents_OnStopEditingEventHandler(wsEditEvents_OnStopEditing);

}

void wsEditEvents_OnStopEditing(bool saveEdits)

{

MessageBox.Show("StopEditing");

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: