taiyuアイコン

taiyuのVBプログラム


 チップ集(Tips)-②


チップ集(Tips 集)CGIダウンロードよくある質問(サポート) ソース提供相互リンク集  
チップ集(Tips 集)
○○システム

モッピー!お金がたまるポイントサイト
   ★印の項目をクリックしてください。

Tips     1  ②  3  

★エラー取得とエラーメッセージ
  Try
    MsgBox(CDec(TextBox1.Text) / CDec(TextBox2.Text))
  Catch ex As InvalidCastException
    '数値ではない場合
    MsgBox("数値を入力してください。", MsgBoxStyle.Exclamation)
  Catch ex As DivideByZeroException
    '0で割ろうとした場合
    MsgBox("0で割ることはできません。", MsgBoxStyle.Exclamation)
  Catch ex As Exception
    'その他のエラーが発生した場合
    Dim strmsg As String = "その他のエラーが発生しました。" _
                  & vbCrLf & ex.Message
    MessageBox.Show(strmsg, "エラー", MessageBoxButtons.OK, _
                  MessageBoxIcon.Error)
  End Try
★エラーコードを取得するAPI
  Declare Function GetLastError Lib "KERNEL32.DLL" () As Integer

  Dim DllErrCode As Integer
  DllErrCode = GetLastError()
  MessageBox.Show("初期情報の書込みに失敗しました。" & vbCrLf & _
     "(" & DllErrCode.ToString & ")", "初期設定", _
     MessageBoxButtons.OK, MessageBoxIcon.Error)
★Traceへの出力をコンソールにも出力する
  Trace.Listeners.Add(New TextWriterTraceListener(System.Console.Out))

★押されたキーにより処理する
  Private Sub CtrlButton_Down(ByVal e As System.Windows.Forms.KeyEventArgs)
     Select Case e.KeyCode
        Case Keys.PageUp, Keys.Left, Keys.Up
           ' PgUp, ←, ↑キーが押された時の処理
        Case Keys.PageDown, Keys.Right, Keys.Down
           ' PgDn, →, ↓キーが押された時の処理
        Case Keys.Return
           ' Enterキーが押された時の処理
        Case Keys.Delete
           ' Deleteキーが押された時の処理
        Case Keys.A
           ' A キーが押された時の処理
        Case Keys.Q
           ' Q キーが押された時の処理
        Case Else
     End Select
  End Sub

★PageDownキーを送る
  SendKeys.Send("{PageDown}")
★ボタンが押されたらWebを開く
  Private Sub Button1_Click _
     (ByVal sender As System.Object, _
      ByVal e As System.EventArgs) Handles Button4.Click
     System.Diagnostics.Process.Start("http://www.yahoo.co.jp/")
  End Sub

★二重起動防止
  If UBound(System.Diagnostics.Process.GetProcessesByName( _
    System.Diagnostics.Process.GetCurrentProcess.ProcessName)) > 0 Then
    'すでに起動していると判断する
    '終了させるコードを書く
  End If

★ContextMenuStripの表示位置を算出
----クライアント座標をスクリーン座標に変換する---
  Dim ClientPoint As New Point(0, 0)
  Dim ScreenPoint As Point
  SreenPoint = .PointToScreen(ClientPoint)
  Pos.X = ScreenPoint.X + e.x
  Pos.Y = ScreenPoint.Y + e.y
----ContextMenuStripの表示位置を指定する------
  ContextMenuStrip.Show(Pos.X, Pos.Y)

★文字列操作
・幅指定で右詰め
  String.Format("{0, 4}", num) “ 1”
・幅指定で左詰め
  String.Format("{0, -4}", num) “1 ”
・0埋め
  String.Format("{0:D4}", num)
 または
  String.Format("{0:0000}", num) “0001”
・幅指定かつ0埋め
  String.Format("{0, 8:D4}", num) “ 0001”
--------------------------------------
・指定フォーマット
.  Text = keta.ToString("#,##0")
--------------------------------------
・TextBox内の文字を全て選択状態にする
  Text1.SelectAll()

★TextBox1で押されたキーを得る
   Private Sub TextBox1_KeyDown _
         (ByVal sender As Object, _
          ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
    Select Case e.KeyCode
      Case Keys.PageUp, Keys.Left, Keys.Up
        'PgUp33, ←37, ↑38
      Case Keys.PageDown, Keys.Right, Keys.Dow
        'PgDn34, →39, ↓40
      Case Keys.Return
        'Return
      Case Else
    End Select
  End Sub

★カーソルの変更
  Me.Cursor = System.Windows.Forms.Cursors.WaitCursor
  Me.Cursor = System.Windows.Forms.Cursors.Default

★TabControlの背景を描画する
---TabControl1をオーナードローする
  SSTab1.DrawMode = TabDrawMode.OwnerDrawFixed
---DrawItemイベントハンドラを追加
  AddHandler TabControl1.DrawItem, AddressOf TabControl1_DrawItem

  Private Sub TabControl1_DrawItem( _
      ByVal sender As Object, ByVal e As DrawItemEventArgs)
    '背景の描画等を行う
  End Sub
★TextBoxへの入力を受け付けない
  Dim KeyAscii As Integer = 0
  e.KeyChar = Chr(KeyAscii)
  If KeyAscii = 0 Then
    e.Handled = True
  End If

★「0.5秒間待て」という命令/他のプロセスに制御を渡す
  System.Threading.Thread.Sleep(500)
  ' 他のプロセスに制御を渡す
  System.Windows.Forms.Application.DoEvents()

★アプリケーション タイトルの取得
  cTitle = My.Application.Info.Title
  '拡張子なしのアプリケーション名を取得
  ApplicationTitle.Text = _
    System.IO.Path.GetFileNameWithoutExtension_
        (My.Application.Info.AssemblyName)

★マウスの位置にContextMenuを表示する
  If e.button = 2 Then
    Dim Pos As Point
    '===== クライアント座標をスクリーン座標に変換する =====
    Dim ClientPoint As New Point(0, 0)
    Dim ScreenPoint As Point
    ScreenPoint = .PointToScreen(ClientPoint)
    Pos.X = ScreenPoint.X + e.x
    Pos.Y = ScreenPoint.Y + e.y
    '=================================================
    'マウスの位置をセット
    ContextMenuStrip.Show(Pos.X, Pos.Y)
  End If


資格を取るならネット配信!いつでも・どこでも・何回でもアクセスし放題!

Copyright © Since 2008 Exterior taiyu All rights reserved