投稿者 allgreen  (社会人) 投稿日時 2020/5/1 16:07:03
早速のご返事ありがとうございます
確かにMSDNに「前のフレームに加えられたすべての変更が破棄されます」とありますが
フレームに変更を加えたのではなく、フレームから取り出したものまで破棄されてしまう?
ここが理解できないところですが、仕方がないのでしょうね

いろいろと試したものの結果ですが
その1
  画像.SelectActiveFrame(fd, 0)
  picturebox1.image=画像
  画像.SelectActiveFrame(fd, 1)
  picturebox2.image=画像
  画像.SelectActiveFrame(fd, 2)
  picturebox3.image=画像
    結果は、pictureboxの3つとも2ページ目の画像
その2
  画像.SelectActiveFrame(fd, 0)
  picturebox1.image=画像
  System.Windows.Forms.Application.DoEvents()
  画像.SelectActiveFrame(fd, 1)
  picturebox2.image=画像
  System.Windows.Forms.Application.DoEvents()
  画像.SelectActiveFrame(fd, 2)
  picturebox3.image=画像
  System.Windows.Forms.Application.DoEvents()
    結果は、picturebox1は0ページ
          picturebox2は1ページ
                     picturebox3は2ページの画像
その3
  画像.SelectActiveFrame(fd, 0)
  分割画像(0)=画像
  System.Windows.Forms.Application.DoEvents()
  画像.SelectActiveFrame(fd, 1)
  分割画像(1)=画像
  System.Windows.Forms.Application.DoEvents()
  画像.SelectActiveFrame(fd, 2)
  分割画像(2)=画像
  System.Windows.Forms.Application.DoEvents()
    picturebox1.image=分割画像(0)
    picturebox2.image=分割画像(1)
    picturebox3.image=分割画像(2)
    結果は、pictureboxの3つとも2ページ目の画像

破棄されるのなら、なぜ「その2」は破棄されずに、こちらが思う結果になるのか

とりあえず、今回は
毎回  画像 = Image.FromFile(.FileName) からやり直すと、期待する結果になりました
ただし、毎回ファイルから読み込み直すので時間がどうなるのかが心配です
一応解決したという状態ですが、もうちょっとよい方法がないか研究中です

dobonさんのページも見て
Graphics.​Draw​Image を使う方法もやってみようと思いますが
これも、時間がかかるやり方なのではと考えています