首页 > 解决方案 > 使用 Interop.Access 在 Access 中获取页眉和页脚的文本

问题描述

using AccessApi = Microsoft.Office.Interop.Access;

  foreach (AccessApi.Control control in ap.Forms[formName].Section[AccessApi.AcSection.acHeader].Controls)
    {
       logger.Info(control.Name);
    }

但是有了这些,我得到了控件的名称(AutoLogo 或 AutoTitle)。例如,我想获取 Title 的文本。我该怎么做呢?

标签: c#ms-access

解决方案


最终我无法访问的方式control.Valuecontrol.Caption因为它不是 @Unhandled Exception 所说的 LabelClass 属性。所以我这样做了:

foreach (AccessApi.Control control in ap.Forms[formName].Section[AccessApi.AcSection.acHeader].Controls)
{
    Type t = control.GetType();
    if (t.Equals(typeof(AccessApi.LabelClass)))
    {
        AccessApi.Label label = (AccessApi.Label)control;
        logger.Info(label.Caption);
    }
}

推荐阅读