次の方法で共有


FormEvents.Sign イベント

定義

[ デジタル署名] ダイアログ ボックスで署名することになる署名データが選択されると発生します。

public:
 abstract event Microsoft::Office::InfoPath::SignEventHandler ^ Sign;
public abstract event Microsoft.Office.InfoPath.SignEventHandler Sign;
member this.Sign : Microsoft.Office.InfoPath.SignEventHandler 
Public MustOverride Custom Event Sign As SignEventHandler 

イベントの種類

例外

開発者は、InternalStartup メソッドとは異なる場所でイベントをバインドしようとしました。

フォーム テンプレートが、[フォームのオプション] ダイアログ ボックスの [セキュリティと信頼] カテゴリを使用して [完全信頼] として構成されていません。

次の例では、InfoPath デザイン モードのユーザー インターフェイスの [開発者] タブで [イベントに署名] をクリックして、イベントのイベント ハンドラー Sign をフォームに追加して作成し、クラスの メソッドを使用 Sign() してデジタル署名を Signature フォームに追加します。

public void FormEvents_Sign(object sender, SignEventArgs e)
{
   // This event handler will run only in fully trusted form templates.

   Signature thisSignature = 
     e.SignedDataBlock.Signatures.CreateSignature();

   // To add other pieces of information to sign, modify the
   // signature template returned by 
   // thisSignature.SignatureBlockXmlNode.
   // Write your code here.

   thisSignature.Sign();
   e.SignatureWizard = false;
}
Public Sub FormEvents_Sign(ByVal sender As Object, _
   ByVal e As SignEventArgs)
   ' This event handler will run only in fully trusted form templates.

   Dim thisSignature As Signature = _
     e.SignedDataBlock.Signatures.CreateSignature

   ' To add other pieces of information to sign, modify the
   ' signature template returned by 
   ' thisSignature.SignatureBlockXmlNode.
   ' Write your code here.

   thisSignature.Sign()
   e.SignatureWizard = False
}

注釈

重要: Sign イベントは、フォーム コードで開発者がインスタンス化することを意図したものではありません。 フォーム レベルのイベントのイベント ハンドラーは、Microsoft InfoPath デザイン モードのユーザー インターフェイスからのみ追加する必要があります。 デザイン モードのユーザー インターフェイスからフォーム テンプレートにイベント ハンドラーを追加すると、InfoPath は、 クラスと クラスのメンバーFormEventsを使用してEventManager、フォーム コード ファイルの InternalStartup メソッドでコードを生成し、イベントをイベント ハンドラーにバインドします。 InfoPath のデザイン モードでイベント ハンドラーを追加する方法の詳細については、「[方法] イベント ハンドラーを追加する方法」を参照してください。

イベントは Sign デリゲートを SignEventHandler 使用してバインドされます。

このイベントのイベント ハンドラーでは、完全信頼セキュリティ レベルを実行する必要があります。 このセキュリティ レベルを設定するには、InfoPath デザイナーで [ファイル] タブをクリックし、[フォーム オプション] をクリックし、[セキュリティと信頼] を選択し、[セキュリティ レベルを自動的に決定する] をオフにして、[完全信頼] を選択します。 完全信頼のセキュリティ レベルに設定されたフォームは、インストールするか、デジタル署名する必要があります。

イベントのイベント ハンドラーを使用して、 Sign デジタル署名にデータを追加できます。 たとえば、信頼できるタイムスタンプ サーバーからのデータを追加したり、トランザクションのサーバー側の副署名を追加したりすることができます。 また、このイベント ハンドラーを使用すると、現在のユーザーが特定のグループのメンバーではない場合に署名をブロックできます。

このメンバーには、[フォームのオプション] ダイアログ ボックスの [セキュリティ] または [信頼] カテゴリを使用して、完全な信頼を与えられて実行するように構成されたフォーム テンプレートから開かれたフォームのみがアクセスできます。 このメンバーは、直接の呼び出し側の完全な信頼が必要であり、部分的に信頼されたコードでは使用できません。 詳細については、MSDN の「部分信頼コードからのライブラリの使用」を参照してください。

この型またはメンバーには、Microsoft InfoPath Filler で開いたフォームで実行されるコードからのみアクセスできます。

適用対象