これが私が見つけた1つのハックです。この方法で NumericUpDown コントロールの矢印を非表示にできます。
private void RemoveArrows(NumericUpDown numericUpDown)
{
Control updown = numericUpDown.Controls[0];
updown.Left += updown.Width;
updown.Visible = false;
}
NumericUpDown コントロールに対してこのメソッドを呼び出すだけです (例: Form_Load イベント ハンドラー)。
private void Form2_Load(object sender, EventArgs e)
{
RemoveArrows(idNumericUpDown);
RemoveArrows(salaryNumericUpDown);
}
その他の方法 -数値テキスト ボックスを作成するか、解析と検証を使用します。
ErrorProvider
コンポーネントをツールボックスからフォームにドラッグします。
CausesValidation
テキストボックスのプロパティをに設定true
します (デフォルトでは true です)。
- NumericTextBox_Validating イベント ハンドラーを作成し、10 進数値を含むはずのすべてのテキスト ボックスにサブスクライブします。
テキストボックス内のテキストから 10 進数値を解析できなかった場合、エラー記号がテキストボックスの近くに表示され、「数値のみが許可されています」というメッセージが表示されます。
private void NumericTextBox_Validating(object sender, CancelEventArgs e)
{
TextBox textBox = sender as TextBox;
decimal value;
if (Decimal.TryParse(textBox.Text, out value))
{
errorProvider1.SetError(textBox, "");
return;
}
e.Cancel = true;
errorProvider1.SetError(textBox, "Only numeric values allowed");
}
アドバイス- 数字の入力には NumericUpDown コントロールを使用してください。これは、ユーザーに「この矢印が見えますか?数字だけを入力するためにここにいます!」と表示されるためです。. また、 textbox は、受け入れるテキスト形式について何も述べていません。