关于OnMouseDown事件中获取的值
我在OnMouseDown事件中得到一个值,存在一个数组里,但是在这个类中其他函数引用这个值的时候,发现已经清零了,想请教下要怎样才能长期保存在OnMouseDown事件中获取的值?
例如我新建一个类,重载OnMouseDown函数,在这个函数中获取了一个值存储到datatext[0]。我想在这个类的另一个函数predictFuction()中使用datatext[0]里的值,但实际应用中发现在调用predictFuction()时,datatext[0]已经为0了。
public sealed class samplevalue : BaseTool
{
public override void OnMouseDown(int Button, int Shift,int mapX,int mapY)
{
IArray pIDArray;
IFeatureIdentifyObj pFeatIdObj;
IIdentifyObj pIdObj;
IMap pMap;
pMap = MainAxMapControl.ActiveView.FocusMap;
IFeatureLayer pLayer = pMap.get_Layer(0) as IFeatureLayer;
IIdentify pIdentify;
pIdentify = (IIdentify)pLayer;
IEnvelope pEnv;
IActiveView pActiveView = MainAxMapControl.ActiveView;
pEnv = MainAxMapControl.TrackRectangle();
if (pEnv.IsEmpty == true)
{
tagRECT r;
r.bottom = mapY + 8;
r.top = mapY - 8;
r.left = mapX - 8;
r.right = mapX + 8;
pActiveView.ScreenDisplay.DisplayTransformation.TransformRect(pEnv, ref r, 4);
pEnv.SpatialReference = pActiveView.FocusMap.SpatialReference;
}
pIDArray = pIdentify.Identify(pEnv);
for (int i = 0; i < 1; i++)
{
pFeatIdObj = (IFeatureIdentifyObj)pIDArray.get_Element(i);
pIdObj = (IIdentifyObj)pFeatIdObj;
datatext[0] = pIdObj.Name;
MessageBox.Show("噪声源噪声值:" + datatext[0] + "dB" + " X:" + mapX + " y:" + mapY);
}
}
public void predictFuction()
{
datatext[1] = datatext[0] + 5;
MessageBox.Show(datatext[1]);
}
}