获取或设置调用了 Run() 方法的对象,即为调用了实现 ICtrlAction 接口的类中重写 ICtrlAction 接口的 Run() 方法的对象。

命名空间:  SuperMap.Desktop
程序集:  SuperMap.Desktop.Core (in SuperMap.Desktop.Core)
版本: dll

语法

C#
IBaseItem Caller { get; set; }

备注

触发控件事件所执行的内容是通过某个类对象来指定的,该类必须实现 ICtrlAction 接口,当控件事件被触发时,会调用对象的 Run() 方法,该方法也是重写了 ICtrlAction 接口的Run() 方法。因此,该属性值即为对应的控件对象。

示例

CopyC#
// 触发对象示例 
if (this.Caller is IButton) // 修改按钮文本
{
    System.Windows.Forms.CheckState checkState = (this.Caller as IButton).CheckState;
    (this.Caller as IButton).Text = "修改按钮文本";
}
else if (this.Caller is ICheckBox) // 修改复选框的选中状态
{
    System.Windows.Forms.CheckState checkState = (this.Caller as ICheckBox).CheckState;
    if (checkState == CheckState.Checked)
    {
        (this.Caller as ICheckBox).CheckState = CheckState.Unchecked;
    }
    else
    {
        (this.Caller as ICheckBox).CheckState = CheckState.Checked;
    }
}
else // 其他对象类型
{
}

请参见