2010年4月21日水曜日

.Net(Mobile) NumericUpDownコントロールで値を選択状態にする。

CompactFrameworkではNumericUpDownコントロールのSelectAllプロパティがありません。
NumericUpDownコントロールで値を選択状態にするにはAPIを使用します。

Public Class FrmPrint

    Public Const SETSEL As Integer = &HB1
    <DllImport("coredll")> _
    Public Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
    End Function

    'NumericUpDownコントロールにFocusされた時、値を選択状態にする。
    Private Sub NumericUpDown1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) _
    HandlesNumericUpDown1.GotFocus
            '入力文字を全選択する
            Dim nud As NumericUpDown = DirectCast(sender, NumericUpDown)
            SendMessage(nud.Handle, SETSEL, 0, nud.Value.ToString.Length)
    End Sub
    
End Class

0 件のコメント: