VB2005その他
VB2005その他
▲上へ
プログラムからフォーム上のボタンを操作する
メッセージボックスの利用
※たぶんVBAと使い方が同じとおもう。'x=Msgbox(Prompt,Buttons,Title) 'Prompt以外は省略可。例:Msgbox("メッセージ") Dim x As Integer ' x=MsgBox("vbOkonly", vbOKOnly, "ret=1") x=MsgBox("vbOkCancel", vbOKCancel, "ret=1 or 2") x=MsgBox("vbAbortRetryIgnore",vbAbortRetryIgnore,"ret=3or2or5") x=MsgBox("vbYesNoCancel", vbYesNoCancel, "ret=6 or 7 or 2") x=MsgBox("vbYesNo", vbYesNo, "ret=6 or 7") x=MsgBox("vbRetryCancel", vbRetryCancel, "ret=4 or 2") ' x=MsgBox("vbok[OK][キャンセル]", vbOK, "ret=1 or 2") x=MsgBox("vbcancel[中止][再試行][無視]",vbCancel,"ret=3or4or5") x=MsgBox("vbabort[はい][いいえ][キャンセル]",vbAbort,"ret=6or7or2") x=MsgBox("vbretry[はい][いいえ]", vbRetry, "ret=6 or 7") x=MsgBox("vbignore[再試行][キャンセル]", vbIgnore, "ret=4 or 2") x=MsgBox("vbyes[はい]", vbYes, "ret=6") x=MsgBox("vbno[いいえ]", vbNo, "ret=7") ' x=MsgBox("vbcritical", vbYesNo + vbCritical, "警告") x=MsgBox("vbQuestion", vbYesNo + vbQuestion, "問い合わせ") x=MsgBox("vbexclamation", vbYesNo + vbExclamation, "注意") x=MsgBox("vbinformation", vbYesNo + vbInformation, "情報")※"ret='戻値'"としてボタン名に対する戻値予測を記述してますが動作確認してません。
■設定値※MsgBox()、MessageBox.Show()混在
メンバ | 値 | 説明 |
※vb6.0の定数名はvbをメンバ名の前に付加します。例:vbOKOnlyなど (vb2005相当の定数) *付きのメンバ名は MessageBox.show() 使用時に MessageBoxButtons.OK などとして利用可。但し、OKCancel と OK では表示ボタンが異なるので注意 | ||
ボタンの数と種類(vb2005:MessageBoxButtons) | ||
OKOnly | 0 | [OK]ボタンを表示:【OK=1】 |
*OKCancel / *OK MsgBoxResult.OK | 1 | [OK] / [キャンセル]ボタン表示 :【OK=1】【Cancel=2】 MassageBox.Show()使用時の OK は、[OK]ボタンのみ表示です。 |
*AbortRetryIgnore / Cancel MsgBoxResult.Cancel | 2 | [中止] / [再試行] / [無視]ボタンを表示 :【Abort=3】【Retry=4】【Ignore=5】 |
*YesNoCancel / Abort MsgBoxResult.Abort | 3 | [はい] / [いいえ] / [キャンセル]ボタンを表示:【Yes=6】【No=7】【Cancel=2】 |
*YesNo / Retry MsgBoxResult.Retry | 4 | [はい] / [いいえ]ボタンを表示 :【Yes=6】【No=7】 |
*RetryCancel / Ignore MsgBoxResult.Ignore | 5 | [再試行] / [キャンセル]ボタンを表示 :【Retry=4】【Cancel=2】 |
Yes MsgBoxResult.Yes | 6 | [はい]ボタンを表示 :【Yes=6】 |
No MsgBoxResult.No | 7 | [いいえ]ボタンを表示 :【No=7】 |
戻り値:【OK=1】 / 【Cancel=2】 / 【Abort=3】 / 【Retry=4】 / 【Ignore=5】 / 【Yes=6】 / 【No=7】 | ||
アイコンスタイルの定義(vb2005:MessageBoxIcon) *MessageBoxIcon列挙体共通、()内は列挙体専用、+は.NET Compact Framework によるサポート(詳細不明) | ||
Critical (Error,+Hand,Stop) | 16 | 警告メッセージアイコン表示 |
*+Question | 32 | 問い合わせメッセージアイコン表示 |
*+Exclamation (Warning) | 48 | 注意メッセージアイコン表示 |
*Information (+Asterisk) | 64 | 情報メッセージアイコン表示 |
(+None) | - | アイコン記号を表示しない |
警告:Critical=(×) / 問合:Question=(?) / 注意:Exclamation=(!) / 情報:Information=(i) 使用例:x=msgbox("ファイルを削除しますか?",vbOKCancel + vbQuestion,"ファイルの削除") | ||
既定のボタン(vb2005:MessageBoxDefaultButton) ()内は、MessageBoxDefaultButton 列挙体定数 | ||
DefaultButton1 (Button1) | 0 | 第1ボタンが標準 |
DefaultButton2 (Button2) | 256 | 第2ボタンが標準 |
DefaultButton3 (Button3) | 512 | 第3ボタンが標準 |
使用例:x=MsgBox("File Read Error。再試行しますか?",vbAbortRetryIgnore + vbCritical + vbDefaultButton2,"読み込みエラー") | ||
モーダル指定 | ||
ApplicationModal | 0 | 操作応答までアプリ実行停止 |
SystemModal | 4096 | 操作応答まですべてのアプリ中断 |
前面表示・テキスト表示指定(vb2005:MessageBoxOptions) | ||
MsgBoxSetForeground | 65536 | 最前面表示します |
MsgBoxRight | 524288 | テキストを右寄せ表示 |
MsgBoxRtlReading | 1048576 | ヘブライ語やアラビア語システムの右→左表記指定 |
■MsgBox()とMessageBox()
x=MsgBox(Prompt,Buttons,Title) ・・・と・・・ x=MessageBox.Show( Message, Caption, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions )※vb2005では新たにMessageBox.Showを使用することが推奨されている。しかし下位互換のMsgBoxも従来通りサポートされているので利用可能。
▲上へ
配置したボタンをプログラムから押下
配置したボタンをプログラムから操作、サブルーチンとして制御する方法Button.PerformClick()※フォーム上のオブジェクト呼び出しは、sender As System.Object や e As System.EventArgs といった引数を擬似的に作って渡す事で Call することも可能だが、このように指定すると引数不要ですぐ利用できるので便利。
▲上へ
応答の無い状態を回避する
メッセージ・キューを処理する
ループ処理などの実行時に、フォーム表示の更新や操作不能な状態を簡単に処理する方法。Application.DoEvents()
▲上へ
追加フォームの表示
追加したフォームを表示させる
メインフォーム(Form1)へ配置したボタン(Button)のクリック(Click)イベントへ、以下のように記述する。== 定石 ==
Dim nForm2 As New Form2 nForm2.Owner = Me nForm2.Show()
▲上へ
mdbファイル::レコード操作
「 型 'DBNull' から型 'String' への変換は無効です。 」と表示されるエラー。
※mdbファイルで、追加フィールドのデータ取得時に発生。全データ更新もつらいのでプログラムで逃げる …== 例 ==
Dim mdbCn As New OleDbConnection( _ MDB_PROVIDER & "Data Source=" & MDB_DATSOURCE) Dim SQLCmd As OleDbCommand = mdbCn.CreateCommand Dim DbAdpter As New OleDbDataAdapter(SQLCmd) Dim Table As New DataTable SQLCmd.CommandText = "SELECT N_Field FROM T_Table " & _ "WHERE ItemCD='01234' " DbAdapter.Fill(Table) If IsDBNull(Table.Row(0)("N_Field")) Then 'DBNull型? Table.Row(0)("N_Field") = "" '空文:""を代入エラー抑止 End If Dim NewField As String NewField = Table.Row(0)("N_Field") '上記処理にてエラー回避 '▼後処理 Table.Dispose() DbAdapter.Dispose() SQLCmd.Dispose() mdbCn.Dispose()※覚え書き用のメモ書き→不要部分カット→ このコードは動作未確認
※SQL Server,DataGridViewなどでも同じ
※DataSetを利用したプロパティ変更での処理も可能らしい
▲上へ
サブルーチンと関数の定義と利用方法
サブルーチン(メソッド)の追加
戻り値のないイベントプロシージャ以外のプログラム(メソッド)を定義する。== 定義方法 ==
Private Sub メソッド名( ByVal 引数1 As 変数の型, _ ByBal 引数2 As 変数の型 ) '処理:引数の利用も可。 '戻り値がないので、処理中の画面表示や大域変数の制御などに利用。 '引数なしでも定義可能です。 End Sub
関数(ファンクション)の追加
戻り値を1個返すプログラム(メソッド)を定義します。== 定義方法 ==
Private Function 関数名( ByVal 引数1 As 型, _ ByVal 引数2 As 型 ) As 関数の型 '処理:引数がなくても可。 '必ず「戻り値」を返すのが関数。「戻り値」がないとエラーとなる。 Return 戻り値 または、関数名(またはメソッド名言う) = 戻り値 End Function
サブルーチン、関数の呼び出し
定義したメソッドの呼び出しの仕方について。- サブルーチンの呼び出し方法
- 引数がない場合
- サブルーチン名
- Call サブルーチン名
- サブルーチン名() ※注:未確認
- 引数がある場合
- サブルーチン名(引数1 , 引数2 , …)
- Call サブルーチン名(引数1 , 引数2 , …)
- 引数がない場合
- 関数の呼び出し方法
- 引数がない場合
- 関数と同じ型の変数 = 関数名()
- 引数がある場合
- 関数と同じ型の変数 = 関数名(引数1 , 引数2 , …)
- 引数がない場合
▲上へ
その他のその他
TextBoxへ出力文字列を追加する
ログ出力や動作確認時のConsole出力の替わりとしてなど…TextBox1.Multiline=Trueとし、以下のようにすることで表示される。
TextBox1.AppendText(["文字列"/変数] & ["文字列"/変数] & … & vbCrLf)※VbCrLf、chr(13),chr(10)などを付けることで改行。
※VbTab、出力文字の行頭併せが可能。
Consoleへ出力文字列を表示する
■簡易に出力を確認したい場合などに便利。例)出力レコード内容を目視チェックする・・・など
Console.WriteLine(["文字列"/変数] & ["文字列"/変数] & … )※改行コードなど追加する必要はありません。
■改行せずに出力する場合。
Console.Write(["文字列"/変数] & ["文字列"/変数] & … )※全文改行なしで表示されます。
マルチステートメントの使用
(^_^;)使えるかなぁ〜と思ったら、使えました。i = 10 : j = 20 : k = 50 ' … とか … str_temp = "マルチステートメントは、コロンで区切るとつかえます。"※使いすぎにはご注意。
ソースコードのアウトライン(指定ソース部分を折りたたむ)
VB2005では、折り畳み可能なXMLコメント(メソッド説明)などがあり重宝しますが、一部のソースを意図的に折り畳むための指定を行う事も可能です。== 設定方法 ==
#Region "○○○のメソッド:完成済み" Private Sub サブルーチン名( ) '完成済み○○○メソッド '例えば、完成済みVBソースのデバック時などの '「サブルーチン」や「関数」の把握をしたい場合などに '折り畳みができるようにしておくと、見やすいと思います。 サブルーチン本文 〜 中略 〜 End Sub #End Region※ただし、メソッド内部などへの指定は不可。
その他記載予定しているもの
書いとかないとわかんなくなるので・・・- 外部exeファイルの呼び出し…など
▲上へ
リンク
VisualBasic2005の本
入門向け
入門以上
専門向け(理系・DB・その他)
内部リンク
- VB2005リファレンス(覚え書き)
- VB2005コントロール
- VB2005基本構文(プログラミング構文)
- VB2005ファイル処理
- VB2005フォルダ処理?
- VB2005文字列処理
- VB2005その他
- SQL文:SQLステートメント
- VBA(VisualBasic for Applications)
外部リンク
- まだありません
▲上へ
カテゴリ:パソコン > VisualBasic
2007年10月27日(土) 09:40:49 Modified by cafeboy1