毎年初心者で、77歳になりました。よろしくお願いします。
visual basic studio express 2013 で勉強しています。
Imports System.Threading.Thread
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Sleep(1000)
Application.DoEvents()
TextBox1.Text = "kingdom" & vbCrLf
Sleep(5000)
Application.DoEvents()
TextBox1.Text &= "koseki tosihiro"
End Sub
End Class
このように一つの関数(なんと言えばいいのですか?)
の中に 二つの slleep(1000),sleep(5000) を使う事はできないのですか?かなり時間がたって
表示されます。
No.1ベストアンサー
- 回答日時:
>二つの slleep(1000),sleep(5000) を使う事はできないのですか?
使えます。
Sleep(1000)
TextBox1.Text = "kingdom" & vbCrLf
Application.DoEvents()
Sleep(5000)
TextBox1.Text &= "koseki tosihiro"
Application.DoEvents()
のようにしてください。
テキストボックスに文字をセットした後で、
Application.DoEvents()
を呼び出すと、直ちに表示が可能になります。
早々に回答をいただきましてありがとうございます。二度目の
Application.DoEvents()を書くべき位置がおかしいということですか
やってみます。
No.2
- 回答日時:
※ 厳密にはちょっと違いますが。
Windowsでは、画面の書き換えが常に行われているわけではありません。
通常は「何もしていないタイミング」を狙って画面を書き換えます。
本来なら、あなたのそのプログラムだと Button1_Click が始まったときから、画面書き換えは一切行われず、
End Subへ達して終了した段階で「何もしていない状態」になることで、それまでの内容をまとめて画面が書き換えられます。
つまり、内部ではTextBox1.Textが書き変わっているのに、画面上では時間が経った後に
kingdom
koseki tosihiro
が一気に表示される、ということになります。
それを強制的に一時的に「何もしていない状態」にするための命令が Application.DoEvents() です。
ですが、あなたのプログラムの場合は
TextBox1.Text = "kingdom" & vbCrLf
でTextBox1.Textの内容を変えた後
Sleep(5000)
で待ってから
Application.DoEvents()
で画面が書き変わって「kingdom」が表示される、という流れになるため、DoEventsが働いていないように見えてしまいます。
なお。
DoEventsは弊害が多いので、多用すべきものではありません。
画面表示だけなら TextBox1.Refresh() 等と Refreshメソッドを使うことで即時に表示更新することができます。
また、時間がかかる処理はバックグラウンドでするのが作法となります。
ちょっと難しいところですが。
ありがとうございました。私は、ただsleep()とはどんなものか確認したかったのです。textbox1.refresh() で 使ったことがのが出て。これは textbox1,text=" " と
同じことではないのですか? このようにわつぃは全くの初心者です。
今後ともよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 九九の答えの計算 3 2022/12/20 22:13
- Visual Basic(VBA) vba Sleep関数について教えてください 1 2023/01/18 10:18
- Visual Basic(VBA) Visual Basic : ImageListの画像がそろったときにメッセージを表示 1 2023/07/20 13:53
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Visual Basic(VBA) chromedriverのver-upで動作不安定となった 3 2022/07/07 11:32
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Visual Basic(VBA) ユーザーフォームの書き出しで追加のご相談 ユーザーフォームの値をシートに書き出す際、コードが表示され 2 2022/08/05 10:58
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラミングで例えばゲーム...
-
画面を隠す・消す方法を教えて...
-
C言語で今まで表示していた画面...
-
ServletからHTMLページへの遷移...
-
画像の縦横比固定の計算方法。
-
三菱GOTの画面切り替えについて
-
Beautiful Soupのインストール...
-
system("cls")について
-
Java-jspの画面入力値保持について
-
CSV出力を画面から選択したデー...
-
JSPから出力されたHTML画面のcl...
-
登録後、呼び出し元ページに戻...
-
javaでプリントスクリーン(ス...
-
スマホ向けに「お気に入り登録...
-
Javaプログラミングの質問にな...
-
Android開発環境が構築できない...
-
Wi-Fiのパスワードが指定なしと...
-
URLはそのままで、リンクをクリ...
-
親ウィンドウの画面遷移
-
アクティブディレクトリ環境下...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
三菱GOTの画面切り替えについて
-
C# ログイン画面からメイン画面...
-
C言語で今まで表示していた画面...
-
画面遷移を行わずに同一ページ...
-
Java-jspの画面入力値保持について
-
プログラミングで例えばゲーム...
-
フロントエンドフレームワーク...
-
ASP.NET 画面遷移前の状態を保...
-
遷移元を判定したい!
-
画像の縦横比固定の計算方法。
-
FormのsubmitでFormの内容がnull
-
画面を隠す・消す方法を教えて...
-
HTMLのINPUTから画面表示
-
登録後、呼び出し元ページに戻...
-
ボタンを押したあとに画像を表...
-
Javascriptのhistory.back()が...
-
ServletからServletへの値渡し
-
セッション切れでのリクエスト...
-
アドレスバーに引数を表示させ...
-
system("cls")について
おすすめ情報