Timer.SynchronizingObject プロパティ
アセンブリ: System (system.dll 内)

Dim instance As Timer Dim value As ISynchronizeInvoke value = instance.SynchronizingObject instance.SynchronizingObject = value
public: property ISynchronizeInvoke^ SynchronizingObject { ISynchronizeInvoke^ get (); void set (ISynchronizeInvoke^ value); }
/** @property */ public ISynchronizeInvoke get_SynchronizingObject () /** @property */ public void set_SynchronizingObject (ISynchronizeInvoke value)
public function get SynchronizingObject () : ISynchronizeInvoke public function set SynchronizingObject (value : ISynchronizeInvoke)
指定した間隔が経過したときに発行されるイベント ハンドラ呼び出しをマーシャリングするために使用するオブジェクトを表す ISynchronizeInvoke。既定値は null 参照 (Visual Basic では Nothing) です。

SynchronizingObject が null 参照 (Visual Basic では Nothing) の場合、Elapsed イベントを処理するメソッドはシステムのスレッド プールのスレッドで呼び出されます。システム スレッド プールの詳細については、「ThreadPool」を参照してください。
Elapsed イベントをボタンなどのビジュアルな Windows フォームのコンポーネントで処理するとき、システム スレッド プールを通じてコンポーネントにアクセスすると例外が発生したり、アクセスできない場合があります。これを防ぐには、SynchronizingObject を Windows フォーム コンポーネントに設定して、コンポーネントが作成されたスレッドと同じスレッドで Elapsed イベントを処理するメソッドが呼び出されるようにします。
Visual Studio 内部の Windows フォーム デザイナで Timer を使用すると、SynchronizingObject には Timer が格納されているコントロールが自動的に設定されます。たとえば、Form から継承される Form1 のデザイナに Timer を配置した場合、Timer の SynchronizingObject プロパティには Form1 のインスタンスが設定されます。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- Timer.SynchronizingObject プロパティのページへのリンク