投稿者 魔界の仮面弁士  (社会人) 投稿日時 2017/9/8 09:32:10
いろいろなやり方があるとは思いますが、
たとえばこんな手順的は如何でしょう。(サンプルコードは掲載しないでおきます)

(1) ローカル変数に受信した X, Y データを、フィールド変数に保持しておきます。
 受信処理が複数回行われた場合に備え、コレクションで管理する必要がある場合は、
 Queue(Of ) などを利用できるかと思います。
 ※ Invoke / BeginInvoke は使いません。

(2) Timer1_Tick が呼ばれたら、(1) で保存していたデータを取り出して
 ファイルに保存します。この保存の方法としては:
  <A案> ファイルには「追記」モードで記述し、書き込み終わった分は(1)から取り除く。
  <B案> ファイルは毎回「新規作成」し、今まで受信した分すべてを毎回作り直す。
 などのパターンがあります。


なお、データ受信のスレッドと、そのデータを利用する(この場合はファイル出力)スレッドが
異なっていますので、何らかの同期制御も必要になります。
(たとえば SyncRoot プロパティを SyncLock するなど)