[VB2010]関数・代入が順序正しく行われない

このQ&Aのポイント
  • VisualStudio 2010のVBを使用しております。下記のようなコードを打ったとき一部のコードが実行されず(飛ばされている?)、困っています。
  • このコードを実行すれば、まずLabel1.Textが"text"になるはずですがこれがスキップされ(Label1が何故か表示されていない) Panel1が可視状態になり、If文が実行されます。
  • Visual Basic 2008 Expressを使用していた時からこのような症状はありましたが、なぜこのような状態になるのかわかりません。どのようにすれば正しく動作するようになりますでしょうか。
回答を見る
  • ベストアンサー

[VB2010]関数・代入が順序正しく行われない

[VB2010]関数・代入が順序正しく行われない VisualStudio 2010のVBを使用しております。 下記のようなコードを打ったとき一部のコードが実行されず(飛ばされている?)、困っています。 (Label1はPanel1上にある,Label1.text="null") Label1.Text = "text" Panel1.Visible = true Dim client As New Net.WebClient() 'あとから使う If NetworkInformation.NetworkInterface.GetIsNetworkAvailable Then Threading.Thread.Sleep(2000) Label1.Text = "ネットワーク接続 - 有効" End If このコードを実行すれば、まずLabel1.Textが"text"になるはずですが これがスキップされ(Label1が何故か表示されていない) Panel1が可視状態になり、If文が実行されます。 Visual Basic 2008 Expressを使用していた時からこのような症状はありましたが、 なぜこのような状態になるのかわかりません。 どのようにすれば正しく動作するようになりますでしょうか。 ご回答よろしくお願いします。

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

Label1.Text = "text" Label1.Refresh() Panel1.Visible = true としたらどうなりますか?

yue_1995
質問者

お礼

解決しました! ご回答ありがとうございました。

関連するQ&A

  • VB初心者です

    計算結果が"7"の時に限り、「当たり!」と表示される、ちょっと意味不明な計算機を作っています。 現在、下記のように書いてますが、何故かうまくいきません。(当たりが表示されない 何故でしょうか?お助けください。。m(_ _)m Private Sub Command1_Click() Label1.Caption = Str(Val(Text1.Text) + Val(Text2.Text)) Label3.Caption = "+" Label4.Visible = False '画像を隠す。 'いずれかの数字が「7」のとき、メッセージを表示する。 If Label1.Caption = "7" Then Label4.Visible = True End If End Sub Private Sub Command2_Click() End End Sub Private Sub Command3_Click() Label1.Caption = Str(Val(Text1.Text) * Val(Text2.Text)) Label3.Caption = "*" End Sub Private Sub Command4_Click() Label1.Caption = Str(Val(Text1.Text) - Val(Text2.Text)) Label3.Caption = "-" End Sub Private Sub Command5_Click() Label1.Caption = Str(Val(Text1.Text) / Val(Text2.Text)) Label3.Caption = "/" End Sub

  • プログラミングvbについて質問

    vb2012です。たとえば dim D as double D=1/3 label1.text=D としたときに、label1のテキストが0.333333333333333らへんで止まってしまうのですが、これはどうすればいいでしょうか。

  • Mid関数

    VB6.0とVB.NETのMid関数についてなんですが、例えば.NETで次のように書く時、 Label2.text = "abcdefg" Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress If Mid(Label2.Text, z, 1) = e.KeyChar Then   Mid(Label2.Text, z, 1) = " " End if と.NETでは書けるのですが、VB6.0では、まずKeyPressの()の中が違うし、Midの()の中の「Label.Text」を「Label2.Caption」と書くと 「.Caption」のところで「変数が必要です」とエラーが出てしまいます。 これはどういうことなのか、教えてください。

  • ループの後にTrueになる不思議

    下記のコードを実行してみます。 Private Sub Command1_Click() ProgressBar1.Visible = True Label1.Visible = True ProgressBar1.Max = Val(Text1.Text) For i = 1 To Val(Text1.Text) Text1.Text = i ProgressBar1.Value = i Next i MsgBox "終了しました。" ProgressBar1.Visible = False Label1.Visible = False End Sub 「ProgressBar1」はループに入る前に「Visible = True」になります。 「Label1」はループ終了後に「Visible = True」になります。 「Text1.Text = i」はループ終了後に表示されます。 本来は、「Label1」はループに入る前に「Visible = True」にして、「Text1.Text = i」をループ中に表示させたいのですが、できません。 どこかコードが間違っているのでしょうか。

  • VBでの質問です

    VBでの質問です 5分を計るタイマーを作っていて5分たつと止まるプログラムを作っていて、コンマ以下のケタが長くて、しかも止まらない( Label1.Text = n5.Subtract(Now).ToStringをLabel1.Text = n5.Subtract(Now).TotalMinutesにしてIf Label1.Text = "00:00:00" ThenをIf Label1.Text = "0" Thenにした時は止まりました)ので止まるようにするにはどこを変えればいいですか? 教えてください 以下コードです Public Class Form1 Dim n5 As DatePrivate Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load n5 = Now.AddMinutes(5) Timer1.Interval = 1000 Timer1.Start() End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Label1.Text = n5.Subtract(Now).ToString If Label1.Text = "00:00:00" Then MsgBox("時間になりました。") Timer1.Stop() End If End Sub 長文ですいません

  • 型変換処理とラベル

    VB初心者です。何卒お助けください。 VB6.0であるアプリケーションを開発しています。 下記のソースで文字列で取得したparmを 数値に変換し、36文字以下か以上の比較をして 36文字なら以下ならLabel1(0).Captionにそのまま 入力。36文字以上ならLabel1(1).Captionに表記して Label1(0).Captionにその後続く文字列をいれたいのですが どのようなコードを書けばよいでしょうか? 何卒宜しくお願い致します。 Private Sub xxx(parm As String) XXNO$ = parm    If Label1(0).Caption = "" Then Label1(0).Caption = XXNO$ If XXNO$ = 36 Then Text1(0).Text = XXNO$ Else For iii = 4 To 1 Step -1  Label1(iii).Caption = Label1(iii - 1).Caption Text1(iii).Text = Text1(iii - 1).Text Next iii Label1(0).Caption = XXNO$ Text1(0).Text = XXNO$ End If

  • vb2005のWebbrowserについて

    vb2005のWebbrowserコントロールで表示さているhtmlの中に 「web_text」というテキストフィールドがある場合、 WebBrowser1.Document.All.GetElementsByName("web_text")(0).InnerText = "あああ" というコードを実行すると、テキストフィールドに「あああ」という文字が入りますが、 似たようなカンジで、チェックボックスのチェックを選択したり、 コンボボックスから値を選択したり、ラジオボタンを選択したりする 方法がわかりません。 どなたかご教授願いたく思っております。

  • VB、教えてください。

    VB、教えてください。 5つのラベルが縦に並んでいます。 label0 label1 label2 label3 label4 あらかじめ、 Dim m as integer=0 を宣言し、 どうにかして "label"という文字列とmという数字をくっつけ、 label0 label1… という風にできないでしょうか。 そして label"m".text=10*m というような表示を作りたいのですが。 下記のようなイメージです。分かりにくかったらごめんなさい。 Public Class Form1 Dim m As Integer = 0 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click lblmessage(+("m").Text = 10*m m = m + 1 End Sub End Class

  • VB2010にて、ラベルの文字を6文字目で改行して表示したいのですが可

    VB2010にて、ラベルの文字を6文字目で改行して表示したいのですが可能でしょうか? Label5.***文字数指定*** のようなコードがあれば助かるのですが、 どなたかご存知でしたら教えてください。 よろしくお願いいたします。 Label5.text="あいうえおかきくけこ" 【表示】 あいうえお かきくけこ

  • Excel VBAにて2つの処理を同時実行可能?

    是非お力をお貸し下さい。 よろしくお願いします。 Windows XP Excel2003 (VB6.0) メイン処理が非常に時間がかかるため、フォームを表示させ 文字(Label)を点滅させて「動いている(ハングアップしていない)」ことを 使用者に伝えようとしています。 --- Form1内のコード(メイン) --- Sub Main() Form2.Show vbModeless [ ~メイン処理~ ] End Sub --- Form2内のコード --- Sub UserForm_Initialize() Call Blink End Sub --- 標準モジュール内のコード --- Sub Blink() If Form2.Label1.Visible = True Then Form2.Label1.Visible = False Else Form2.Label1.Visible = True End If Form2.Repaint DoEvents Application.OnTime Now + TimeValue("00:00:01"), "Blink" End Sub これを実行すると、メイン処理が終了した後にForm2内の文字が 点滅します。 実現したいのは「使用者が動いていることを(ハングアップしていない ことを)確認出来る」という点です。 どうぞ よろしくお願いします。

専門家に質問してみよう