小编Gui*_*ele的帖子

未触发Outlook ItemAdd事件

我们编写了一个Outlook加载项,可以在发送电子邮件时启动操作.只有在撰写电子邮件期间设置了标志时才会发生此操作.通过单击切换按钮设置标志.当发送电子邮件时,会触发事件,并将电子邮件的ID存储在队列中.如果邮件出现在已发送文件夹中,则应触发事件,如果队列中发现相同的ID,则应执行操作.

下面我有两种方法.在发送电子邮件时将发生Application_ItemSend,并且在该方法中,在SentItemsQueue上调用EnQueue.EnQueue方法将事件附加到"已发送邮件"文件夹,并且在添加项目时,它应触发将启动我们操作的事件.

当电子邮件正在撰写并在Outlook中发送时,这一切都正常.如果我们从外部程序(如Word)中启动电子邮件,则会执行Application_ItemSend,但不会触发EMailFoundInSentItems(附加在EnQueue中).为什么事件从未被触发?

public partial class ThisAddIn {    

  void Application_ItemSend(object item, ref bool cancel)
    {
       try
       {
         Trace.TraceInformation("E-mail is being sent. Checking for archive flag.");
         MailItem mail = item as MailItem;
         bool? archive = mail.GetArchiveFlag();

         if (archive == true)
         {
           Trace.TraceInformation("Archive flag was set, going to queue e-mail for archiving.");
           this.SentItemsQueue.EnQueue(mail);
         }

         Marshal.ReleaseComObject(mail);
       }
       catch (System.Exception ex)
       {
         Trace.TraceError("An exception was thrown while trying to archive a sent mail item. Exception: {0}.", ex.ToString());
       }
    }
...

public class SentItemsArchiveQueue 
{ …
Run Code Online (Sandbox Code Playgroud)

c# office-interop outlook-addin

2
推荐指数
1
解决办法
2195
查看次数

子组件的Angular Form验证

我写了一个动态表单,其中有一个主要部分和子部分基于在主要部分(widget.type)中选择的类型.使用ngSwitch显示和隐藏子部件.

表单的HTML如下所示:

<form class="widget-form cc-form" (ngSubmit)="saveChanges()" novalidate>
  <div class="forms-group">
    <label for="title" i18n="@@title">Titel</label>
    <input class="form-control" id="title" name="title" type="text" [(ngModel)]="widget.title" required />
  </div>

  <div class="forms-group">
    <label class="checkbox-label" for="show" i18n>
      <input id="show" name="show" type="checkbox" [(ngModel)]="widget.show" /> <span>Titel tonen in app</span>
    </label>
  </div>

  <div class="forms-group">
    <label for="type" i18n="@@type">Type</label>
    <select class="form-control" id="type" name="type" [(ngModel)]="widget.type" required>
      <option value="text-widget" i18n="@@Text">Tekst</option>
      <option value="tasklist-widget" i18n="@@Tasklists">Takenlijst</option>      
      <option value="image-widget" i18n="@@Text">Afbeelding(en)</option>
      <option value="video-widget" i18n="@@Video">Youtube</option>
      <option value="link-widget" i18n="@@Link">Link</option>
      <option value="contacts-widget" i18n="@@Contacts">Contactpersonen</option>
      <option value="attachment-widget" i18n="@@Attachments">Bijlage(n)</option>
    </select>
  </div>

  <ng-container [ngSwitch]="widget.type">

    <text-widget *ngSwitchCase="'text-widget'" [data]="widget"></text-widget>

    <tasklist-widget *ngSwitchCase="'tasklist-widget'" …
Run Code Online (Sandbox Code Playgroud)

forms typescript angular-components angular

1
推荐指数
2
解决办法
8029
查看次数