I'm creating an ArcMap extension to listen for onCreateFeature events and set an attribute value on the new feature. I want the user to get an ok/cancel dialog that will either proceed to create the feature or cancel the feature creation based on the user response.
private void m_editEvents_OnCreateFeature(ESRI.ArcGIS.Geodatabase.IObject obj)
{
IFeature pFeature = obj as IFeature;
if (pFeature != null) // will never be null on create new feature
{
// get the new feature's table name
ITable tbl = pFeature.Table as ITable;
IDataset dataset = tbl as IDataset;
string sTblName = dataset.Name.Split('.')[2].ToLower();
// Implement user OK or Cancel message box
bool resp = GetOKCancelResponse("Creating New " + sTblName.ToUpper() + " Feature", "Do you want to create a new " + sTblName + " point?");
if (resp == false)
{
//Cancel the operation
}
else
{
// do important stuff
}
}
}
private bool GetOKCancelResponse(string caption, string message)
{
bool rslt = false;
var result = MessageBox.Show(message, caption,
MessageBoxButtons.OKCancel,
MessageBoxIcon.Question);
// If the no button was pressed ...
if (result == DialogResult.OK)
rslt = true;
return rslt;
}
Solved! Go to Solution.
You can use IEditor.AbortOperation().
You can use IEditor.AbortOperation().
Thank you Jeff! That worked.