|
分類:[.NET 全般]
失礼します。
visualstudio2005,c#を使っております。
フォームにテキストボックスと、
0〜9と名づけられたボタン10個、ENTERと名づけられたボタンを1つ用意しております。
そこで、各数字が書かれたボタンの押下、又はテキストボックスにキーボードで入力し、最後に
ENTERボタン又はENTERキーを押すと、入力した数字列が表示される、というプログラムを作成しております。
private void btn_1_Click(object sender, EventArgs e)
{
str_Id = str_Id + "1"; //ボタンによる数字の入力を文字列に代入
txt_Id.Text = str_Id;
}
・・・(以下、0〜9まで同じ)
private void F_IDInp_KEYDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
//キーボードのENTERキー押下
if (e.KeyCode == Keys.Enter)
{
Enter_Action();
}
}
private void TextBox1_KeyPress(object sender,System.Windows.Forms.KeyPressEventArgs e)
{
//キーボードの数字キー押下
if (e.KeyChar < '0' || e.KeyChar > '9')
{
e.Handled = true;
}
else {
str_Id = str_Id + e.KeyChar;
}
}
public void Enter_Action() {
MessageBox.Show(str_Id);
}
上記にようにコードを書いてみたのですが、数字入力の修正にDelキーやBackSpaceキーを使わせたくないのにも
かかわらず、Delキーのみ有効となってしまいます。DelキーとBackSpaceキー両方禁止させるにはどうすればよいのでしょうか?
|