XmlEvent.Changing イベント
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
フォームの基になっている XML ドキュメントに対する変更が行われた後で、変更が受け付けられる前に発生します。
public:
abstract event Microsoft::Office::InfoPath::XmlChangingEventHandler ^ Changing;
public abstract event Microsoft.Office.InfoPath.XmlChangingEventHandler Changing;
member this.Changing : Microsoft.Office.InfoPath.XmlChangingEventHandler
Public MustOverride Custom Event Changing As XmlChangingEventHandler
イベントの種類
例外
開発者は、セカンダリ データ ソースのノードにイベントをバインドしようとしました。 このイベントは、セカンダリ データ ソースに対してはサポートされていません。
例
次の例では、field2 に変更を加えると、Change イベントが発生しFormError、FormErrorCollection クラスのメソッドを使用して Add(XPathNavigator, String, String, String)field1 のオブジェクトがフォームの FormErrorCollection に追加されます。
これにより、エラー メッセージと field1 が関連付けられます。
Add メソッドのパラメーターとしてmessage
渡された文字列は、ユーザーが field1 の上にマウス ポインターを置くと画面ヒントに表示されます。 ユーザーが field1 を右クリックし、[エラーの完全な説明] をクリックすると、Add メソッドのパラメーターとしてmessageDetails
渡された文字列を含む完全なエラー メッセージが表示されます。
public void field2_Changing(object sender, XmlChangingEventArgs e)
{
XPathNavigator errNode =
this.CreateNavigator().SelectSingleNode("/my:myFields/my:field1",
NamespaceManager);
this.Errors.Add(errNode, "Field2Changing",
"The Changing event occurred for Field2.",
"Changes were made to Field2, but have not yet been accepted.");
}
Public Sub field2_Changing(ByVal sender As Object, _
ByVal e As XmlChangingEventArgs)
Dim errNode As XPathNavigator = Me.CreateNavigator(). _
SelectSingleNode("/my:myFields/my:field1", NamespaceManager)
Me.Errors.Add(errNode, "Field2Changing", _
"The Changing event occurred for Field2.", _
"Changes were made, but have not yet been accepted.")
End Sub
注釈
重要: Change イベントは、フォーム コードで開発者によってインスタンス化されるものではありません。 デザイン モードのユーザー インターフェイスからフォーム テンプレートにイベント ハンドラーを追加すると、Microsoft InfoPath は、 クラスと クラスのメンバーを使用してEventManager、フォーム コード ファイルの InternalStartup メソッドでコードを生成し、ドキュメント レベルのXmlEventイベントをイベント ハンドラーにバインドします。 InfoPath のデザイン モードでイベント ハンドラーを追加する方法の詳細については、「[方法] イベント ハンドラーを追加する方法」を参照してください。
Changing イベントは、デリゲートをXmlChangingEventHandler使用してバインドされます。
このイベント ハンドラーでは、ユーザーが操作を取り消せます。
Changing イベントの間に、フォームの基になっている XML ドキュメントは読み取り専用のモードに設定されます。 XmlChangingEventArgs.CancelableArgs.Cancel プロパティが true に設定されている場合、InfoPath は行われた変更を元に戻し、ユーザーに対してメッセージ ボックスを表示します。 Changing イベントに対するコードでエラーが発生すると、InfoPath は変更を元に戻し、データを前の状態に戻します。
注: 変更 中のイベントでは、ビューの切り替えを避けるのが最善です。変更はまだ受け入れられていないので、別のビューに切り替えるとエラーが発生する可能性があります。
この型またはメンバーには、Microsoft InfoPath Filler で開いたフォームで実行されるコードからのみアクセスできます。