2.自動で閉じるメッセージボックスを表示する(38_Msg_02) (旧、SampleNo.407) |
1.自動で閉じるメッセージボックスを表示する 2. 3. 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86 Option :[Compare Text] [Explicit On] [Infer On] [Strict On] Imports :System.Runtime.InteropServices 参照設定:追加なし その他 :このサンプルは、 Win32 APIを使用しておりますので、ある程度Win32 API が理解できる方がお使い下さい。 : このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので) 必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい)
|
1.自動で閉じるメッセージボックスを表示する |
Imports System.Runtime.InteropServices ''' <summary> ''' 自動で閉じるメッセージボックス ''' </summary> ''' <param name="hwnd">オーナーウィンドウのハンドル 0 にするとモードレスで表示</param> ''' <param name="lpText">メッセージボックス内のテキスト</param> ''' <param name="lpCaption">メッセージボックスのタイトル</param> ''' <param name="uType">メッセージボックスのスタイル</param> ''' <param name="wLanguageId">言語識別子</param> ''' <param name="dwTimeOut">自動で閉じるまでのミリ秒</param> ''' <returns>選択されたボタン</returns> ''' <remarks>dwTimeOut=0 では自動で閉じない</remarks> <DllImport("User32.dll", CharSet:=CharSet.Auto)> _ Private Shared Function MessageBoxTimeout( _ ByVal hwnd As IntPtr, _ ByVal lpText As String, _ ByVal lpCaption As String, _ ByVal uType As Integer, _ ByVal wLanguageId As Integer, _ ByVal dwTimeOut As Integer) As MsgBoxResult End Function Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim mResult As Microsoft.VisualBasic.MsgBoxResult ' Me.Handle の ところを IntPtr.Zero にすれば、モードレスで表示する事ができます。 mResult = MessageBoxTimeout(Me.Handle, "*秒後に自動で閉じるメッセージボックスです。", _ "3秒後に自動で閉じます。", vbYesNoCancel, 0, 3000) MessageBoxTimeout(Me.Handle, "戻り値 = " & mResult.ToString(), "", 0, 0, 1500) End Sub |
2. |
3. |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |