作成日: 2023/03/28 最終更新日: 2023/08/23
文書種別
不具合
状況
修正済み
詳細
数値(GcNumber)コントロールのDisplayZero.Textプロパティに半角スペースを設定している状態で、TextChangedイベントでDisplayTextプロパティの値を取得すると、正しい値が取得できない場合があります。
例えば、実行時、GcNumberコントロールのValueプロパティが0の状態で1を入力すると、TextChangedイベントで取得されるDisplayTextプロパティの値は" "(半角スペース)になります。本来は1が取得されるのが正しい動作になります。
例えば、実行時、GcNumberコントロールのValueプロパティが0の状態で1を入力すると、TextChangedイベントで取得されるDisplayTextプロパティの値は" "(半角スペース)になります。本来は1が取得されるのが正しい動作になります。
回避方法
Service Pack 2より前のバージョンでは次の方法で回避可能です。
BeginInvokeメソッドを利用して、GcNumberコントロールの内部処理の完了後に値を取得することで回避可能です。下記サンプルコードは、取得したDisplayTextプロパティの値をTextBoxコントロールに設定する場合の例です。
◎サンプルコード(VB)
Private Sub GcNumber1_TextChanged(sender As Object, e As EventArgs) Handles GcNumber1.TextChanged
GcNumber1.BeginInvoke(New MethodInvoker(Sub()
TextBox1.Text = GcNumber1.DisplayText
End Sub))
End Sub
◎サンプルコード(C#)
private void gcNumber1_TextChanged(object sender, EventArgs e)
{
gcNumber1.BeginInvoke((MethodInvoker)delegate
{
textBox1.Text = gcNumber1.DisplayText;
});
}