• ベストアンサー

二つのフォームを一緒に移動

二つのフォームを並べて表示させ、フォームAを移動すると、それにともないフォームBも一緒に移動させたいと考えています。 どのようにすれば良いのでしょうか。 VB6を使用しています。ご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Azzuri
  • ベストアンサー率68% (34/50)
回答No.3

フォームAにTimerコントロールを用意して、 Timerイベントに フォームB.Move Me.Left + Me.Width, Me.Top とするのはどうですか。 TimerコントロールのIntervalの設定はお好みで。

その他の回答 (2)

回答No.2

フォームには移動したときのイベントがありません。それで、一番妥当なのは#1のようにMouseMoveイベントですが、タイトルバー上では認知しないために、移動後一度タイトルバー以外のフォーム上でマウスを動かす事によってようやく移動します。 VB.NETではForm_Moveイベントが組み込まれているようですけど。

回答No.1

おはようございます。 時間が無いので、VBAのサンプルを、 これは、重なった3つのフォームを、いつも重なっているようにするコードです。 Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) UserForm2.Top = UserForm1.Top UserForm2.Left = UserForm1.Left UserForm3.Top = UserForm1.Top UserForm3.Left = UserForm1.Left End Sub VBAですので、VB6とは少しコードが違うかも知れませんが、 そこは、何となく分かると思います。 UserForm1.Top+50 UserForm1.Left+50 などとすると、フォームがずれたまま移動します。