私は新年の準備をしています。下記画像を見れば:選択したタイプに応じて単純なテキストボックスに入力を調整します
あなたは、私はそのような0-7のsans 8および9用としてのみ特定の文字を受け入れるようにする方法を見つけ出すことはできませんテキストボックスを持っていることがわかります例えば8進数。
誰もができれば...
if (octalRadioButton.Checked)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) || char.IsWhiteSpace(e.KeyChar) || char.IsDigit('7') || char.IsDigit('8'))
が、それはほとんど何もしなかった:
private void inputBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (hexRadioButton.Checked)
{
if (char.IsWhiteSpace(e.KeyChar))
{
e.Handled = true;
}
}
if (decimalRadioButton.Checked)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) || char.IsWhiteSpace(e.KeyChar))
{
e.Handled = true;
}
}
if (octalRadioButton.Checked)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) || char.IsWhiteSpace(e.KeyChar))
{
e.Handled = true;
}
e.Handled = false;
}
if (radioButton1.Checked)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) || char.IsWhiteSpace(e.KeyChar))
{
e.Handled = true;
}
e.Handled = false;
}
}
私もこのような何かをしようとしている。ここで
は、これまでの私のコードです私を助けて、私は本当に幸せだろう。if (octalRadioButton.Checked)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) || char.IsWhiteSpace(e.KeyChar))
{
e.Handled = true;
}
e.Handled = false; <----------
}
あなたはtrue
に設定した後、再度falseに設定...それは無効な文字を入力することができますだから、なぜだ::)
個々のタイプ(dec、hexなど)のバリデーションを組み合わせることで、ソリューションを組み合わせることができるはずです。ほとんどの場合、正規表現を使用して入力を検証するソリューションが見つかります。すべての単一のKeyPressのcharを非常に厄介なように見える。時間をかけて、各タイプの既存のソリューションを検索し、それに応じて適用します。 – Filburt