问题描述:打开的图层中利用GeometrySelected选中区域进行高亮,再次点击取消高亮,目前用selection设置风格但高亮无法显示,麻烦看下怎么调整可以生效
private void mapControl_GeometrySelected(object sender, GeometrySelectedEventArgs e)
{
try
{
//m_mapControl.Map.TrackingLayer.Clear();
Selection selections = m_mapControl.Map.FindSelection(true)[0];
if (selections == null && selections.Count == 0) return;
// 获取当前线图层的选择记录集
Recordset recordset = selections.ToRecordset();
if (recordset == null || recordset.RecordCount == 0) return;
GeoStyle geostyle = new GeoStyle();
string name = recordset.GetFieldValue("NAME").ToString().Trim();
// 遍历选中的要素并设置样式
selections.SetStyleOptions(StyleOptions.FillForeColor, true);
recordset.MoveFirst();
geostyle.FillForeColor = System.Drawing.Color.Blue;
geostyle.LineSymbolID = 5;
geostyle.FillOpaqueRate = 100;
selections.Style = geostyle;
m_layer.Selection = selections;
m_mapControl.Map.Refresh();
}
catch (Exception ex)
{
//MessageBox.Show(ex.Message);
new Exception("图层高亮失败:"+ex);
return;
}
}