• 締切済み

VB A,Bフォームから同一Cフォームを呼び出し呼出元によってCの処理を変えたい

環境 WindowsXP SP3.0 VB6.0 宜しくお願いします。 表題通り、A.frm,B.frmという異なったフォームがあり、A.Bの処理で同一C.frmを C.Show 1 とモーダルで表示しています。 ここで、呼び出し元A,Bによって、C内部の処理を変えたいのですが Cの呼び出し元がAなのかBなのか、判定させるよいルーチンが思いつきません。 CのForm.Loadの引数に与えようと考えたのですが当然構文エラーになります。 Public変数を宣言して適当なパラメータを格納しC内で判定すればよい とは思うのですが、それはなるべく避けたいのです。 プロジェクト的には、A.vbpとB.vbpにフォームとしてC.frmを取り込んでいます。 よいアイデアや検索のヒントがあればご教授ください。

みんなの回答

  • don_go
  • ベストアンサー率31% (336/1059)
回答No.3

ANo.2 訂正 Public Property Get Mode() As Integer

  • don_go
  • ベストアンサー率31% (336/1059)
回答No.2

FormC Private mnMode As Integer Public Property Let Mode (n As Integer)   mnMode = n End Property Public Property Get Mode As Integer   mode = mnMode End Property FormA   Dim frmC As FormC   Set frmC = New FormC   frmC.Mode = n   frmC.Show 1   Debug.Print frmC.Mode

  • mindatg
  • ベストアンサー率48% (110/227)
回答No.1

長らくVB触ってないのでアテになるか分かりません 何をどのタイミングでしたいのか分からないのでアテずっぽうで適当に考えてみました。 これもpublic変数持たせるのと大差無い気もしますが '''FromC側 Private yobidashi as String Public Sub Hantei(hikisu as String) yobidashi = hikisu End Sub '''FromAとB dim c as FormC set c = new Fromc ' ここでInitialize c.Hantei("A") ' c.Hantei("B") c.show 要するにFormを表示する前にごにょごにょする。

関連するQ&A