初歩的な質問ですいません。
timerを使って、別の時間帯に取得したlabel1とlabel2の値をlabel3に表示させたいのですが、うまくいきません。
timer1でlabel1の値。その数秒後timer2でlabel2の値を取得してます。
それぞれの値は、label3に表示されるのですが、timerで更新された、それぞれの1,2の値、ひとつずつのみしか、label3に記入されません。
今は↓
Label1.Text = "MyForm.Label1.Text2 "& "MyForm2.Label1.Text "と記述してます。これだと、うまくいきませんでした。
ものすごく初歩的な質問かもしれませんが、知ってる方いたら、よろしくお願いします。
>Label1.Text = "MyForm.Label1.Text2 "& "MyForm2.Label1.Text "
>それぞれの1,2の値、ひとつずつのみしか、label3に記入されません。
って本当に?ダブルクオートで囲んでいるならば、常に
MyForm.Label1.Text2 MyForm2.Label1.Text
という文字列が表示されるように思うんだが・・・。
はい。囲んでます。でもなぜか、別にtimerが起動するごとに、
その取得されたどちらからのlabelの値だけが、
label3に入力されてしまうんです。
Label1.Text = MyForm.Label1.Text2 & MyForm2.Label1.Text と
ダブルクオートは不要では?
ものすごく基礎的なことだと思うんですけど
label3のCaptionに代入するには
label1.Caption=値
じゃなくて
label3.Caption=値
ですよね
1と3は打ち間違えです。3で書いてます。
でも入力されません
あとダブルクオートのけても、うまく同時に表示されませんでした。
ようは情報提示していないところにバグがあると言いたいわけですね。
label1.text というようにCaptionではなくtextを使用しているので
環境はvb.netかvb2005ということですか?
はい。すいません。書き忘れです。 .netです
あと、ここではわかりやすくとおもって、ラベル1、2、3と書いていますが、実際は、MDIのform2 form3で取得したそれぞれの値をform1の
ラベルに同時に表示させたいのですが、ひとつずつしかできません。
なので、上で書いた、コードは間違いじゃなくて、実際には、label1と記述してます。
わかりにくくなってしまって、すいません。
一度グローバル変数に代入してから表示させてみては?
かなり錯綜気味ですね(^^;
MDIフォームのParentとChildにそれぞれLabel1だけが乗っている例で、
とりあえずやってみましたので、適当に参考にして下さい。
Public Class Form1
Dim f2 As New Form2
Dim f3 As New Form3
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
f2.Label1.Text = "Form2Label1"
f3.Label1.Text = "Form3Label1"
f2.MdiParent = Me
f3.MdiParent = Me
f2.Show()
f3.Show()
Me.Label1.Text = f2.Label1.Text + ":" + f3.Label1.Text
End Sub
End Class
ツイート | ![]() |