• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:イベント時に変数値が更新されない)

イベント時に変数値が更新されない

このQ&Aのポイント
  • VB2010にて、keydownイベントを発生させているが、データ番号の更新がされず、Ctrl+→を押すと、毎回同じ数値が表示される。
  • 修正方法を教えてください。
  • データ番号=データ番号+1の値が更新されるようにするにはどうすればいいですか?

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

  • ベストアンサー
  • cotae_bb
  • ベストアンサー率53% (51/95)
回答No.1

このソースだけだと、「データ番号」は+1されていますね。 他の部分で操作していませんか? また、変数はどのように切られていますか? MainPage_Loadメソッド内にDimで切ってたりすると保持されませんので、 メソッド外にPrivate等で切る必要があります。 ----------------------------------------------------------------------- Private dataNumber = 0  '/ プライベートで切った場合 Private Sub MainPage_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles Me.KeyDown   Dim num = 0  '/ ローカルで切った場合   dataNumber += 1   num += 1   MsgBox(dataNumber)  '/ 毎回+1されていく   MsgBox(num)  '/ 何度やっても1が表示される End Sub

ddtqp
質問者

お礼

データ番号の変数はモジュールでpublic宣言しています。 今、メッセージボックスの表示をなしにしてみたら、正常に変数の更新がされました。 メッセージボックスを再び表示させてみたら、変数の更新がされずに、同じ値ばかり表示されます。 メッセージボックスがじゃまをしているようです。。。

ddtqp
質問者

補足

回答ありがとうございます。 メッセージボックスをシングルクォーテーションで非表示にすると、 Ctrl+→を押すたびにデータ番号がプラス1され、 テキストボックスにX,Y座標が更新表示されます。 メッセージボックスを表示させると、 何度Ctrl+→を押しても、同じデータ番号が表示され、 変数の更新がされません。 よくわからない現象です。