Numberコントロールで数値を[Delete]キーなどで削除した場合、Valueプロパティを 0 ではなく Nullにする方法はありますか?
対象製品
InputMan for .NET 3.0J
詳細
以下のサンプルコードのようにClearActionプロパティを"Null"に設定し、数値コントロールのKeyUpイベントでClearメソッドを使用することで実現できます。
[VB.NET]
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' 書式設定
Number1.Format.Digit = "#####0"
Number1.DisplayFormat.Digit = "###,##0"
' ClearActionプロパティ
Number1.ClearAction = GrapeCity.Win.Input.ClearAction.Null
End Sub
Private Sub Number1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Number1.KeyUp
If (e.KeyData = Keys.Delete Or e.KeyData = Keys.Back) And Number1.Text = 0 Then
e.Handled = True
Number1.Clear()
End If
End Sub
[C#]
private void Form1_Load(object sender, System.EventArgs e)
{
// 書式設定
number1.Format.Digit = "#####0";
number1.DisplayFormat.Digit = "###,##0";
// ClearActionプロパティ
number1.ClearAction = GrapeCity.Win.Input.ClearAction.Null;
}
private void number1_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
{
if ( (e.KeyData == Keys.Delete || e.KeyData == Keys.Back ) && number1.text == "0")
{
e.Handled = true;
number1.Clear();
}
}
[VB.NET]
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' 書式設定
Number1.Format.Digit = "#####0"
Number1.DisplayFormat.Digit = "###,##0"
' ClearActionプロパティ
Number1.ClearAction = GrapeCity.Win.Input.ClearAction.Null
End Sub
Private Sub Number1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Number1.KeyUp
If (e.KeyData = Keys.Delete Or e.KeyData = Keys.Back) And Number1.Text = 0 Then
e.Handled = True
Number1.Clear()
End If
End Sub
[C#]
private void Form1_Load(object sender, System.EventArgs e)
{
// 書式設定
number1.Format.Digit = "#####0";
number1.DisplayFormat.Digit = "###,##0";
// ClearActionプロパティ
number1.ClearAction = GrapeCity.Win.Input.ClearAction.Null;
}
private void number1_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
{
if ( (e.KeyData == Keys.Delete || e.KeyData == Keys.Back ) && number1.text == "0")
{
e.Handled = true;
number1.Clear();
}
}
キーワード
HowTo
この文書は、以前は次のFAQ IDで公開されていました : 6500