2017-12-03 12 views
0

ユーザーがフォームに文字列と整数を入力する必要がある場合に、同じ変数を使用して別の形式で出力を生成します。変数を最初のフォームから他のフォームに渡すにはどうすればよいですか?私はモジュールを使ってみましたが、まだ動作しません。 ありがとうございますvb6で変数を1つのフォームから別のフォームに渡す

+0

グローバル変数(「Public gRtfHwnd As Long'の形式)を使用します。複数のフォームがある場合は 'frmName.VarName'を使います。 – ACatInLove

+0

@ACatInLoveフォーム内のパブリック変数は、前述したように、フォーム自体以外のプロジェクトのどこかから変数にアクセスするためには、フォームを参照する必要があるため、VB6ではグローバル変数とはみなされません。したがって、実際にはフォームのインターフェイスの属性と見なされます。グローバル変数が必要な場合は、標準モジュールを追加してそこにパブリック変数を配置する必要があります。 – BobRodes

+0

"あるフォームから別のフォームに変数を渡すにはどうすればいいですか?"私にとって問題の明確な声明のようです。さらに、OPが彼が知らないものの例をどのように作り出すかはわかりません。私は、OPが「罪を働かない」ことを約束し、自動的にそれを保留にしていることに有権者が気づいたと思います。ちょっと私の判断に急いでいるようだ。 – BobRodes

答えて

1

Form1にmyTextBoxというTextBoxがあるとします。また、Form1にmyCommandButtonというCommandButtonがあるとしましょう。最後に、Form2にmyLabelというラベルがあるとします。

あなたは、ユーザーがボタンを押すと、テキストボックスの内容は、他のフォーム上のラベルに表示させたい場合は:

Public Sub myCommandButton_Click() 
    Form2.myLabel.Caption = myTextBox.Text 
End Sub 

私はあなたが明確ではないだ何だと思うが、あなたが参照できるということです最初に他のフォームを参照することにより、別のフォーム上のコントロールのいずれか。このためにモジュールを使用しないでください。あなたはそれを必要としません。それぞれのフォームはオブジェクト(それ)であり、フォームのパブリック変数はオブジェクトのプロパティ(存在する)であると考えてください。そうすれば、構文はあなたに明白になるはずです。あなたは、フォームのコードで、あなたはこれらの3つの方法のいずれかで、フォームのコントロールのいずれかを参照することができることを認識しないかもしれません

myControl 
myForm.myControl 
Me.myControl 

だから、あなたは、たとえば、コントロールのメソッドのいずれかを呼び出すことができます

myControl.myMethod 
myForm.myControl.myMethod 
Me.myControl.myMethod 

フォームリファレンスはデフォルトでは現在のフォームに設定されています。したがって、別のフォーム上のコントロールを参照する場合は、他のフォームと一緒に参照する必要があります。

関連する問題