如何在C#中向我的文本框添加键盘快捷键(输入)?

时间:2016-03-04 05:27:41

标签: c# button overloading eventargs

所以我对编程还是一个新手,我正在尝试创建一个程序,你可以在文本框中输入一个数字(仅限1-9),然后点击Enter而不是点击一个按钮,以便在我的第二个标签上显示的文本框中写入数字。我不断收到两个错误,第一个抛出

No overload for 'textBox1_TextChanged' matches delegate 'EventHandler'

我将Key添加到EventArgs(因为EventArgs不包含Keycode)。第二个是这里的标志:

this.label2.Click += new System.EventHandler(this.label2_Click);    
  

“CS1061'Form1'不包含'label2_Click'和的定义   没有扩展方法'label2_Click'接受第一个类型的参数   可以找到'Form1'(你是否错过了使用指令或者   汇编参考?)“

我的代码:

using System;
using System.Windows.Forms;

namespace Tarea7
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                label2.Text = textBox1.ToString();
            }
            if (System.Text.RegularExpressions.Regex.IsMatch(textBox1.Text, "[^0-9]"))
            {
                MessageBox.Show("Debes de escribir un numero de 1-9");
                textBox1.Text.Remove(textBox1.Text.Length - 1);
            }   
        }

        private void label2_TextChanged(object sender, EventArgs e)
        {

        }
    }
}

1 个答案:

答案 0 :(得分:0)

在视觉设计师或Form1.designer.cs文件中将textBox1.KeyDown事件添加到this.textBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textBox1_KeyDown); 事件中:

label2

然后在代码中添加以下功能。当用户从1 - 9键入一个数字并按Enter键时,它将被复制到 private void textBox1_KeyDown(object sender, KeyEventArgs e) { Text = DateTime.Now.ToString(); switch (e.KeyCode) { case Keys.Enter: if (textBox1.Text.Length == 1) { char tbChar = textBox1.Text[0]; if (tbChar >= '1' && tbChar <= '9') { MessageBox.Show("Correct"); label2.Text = tbChar.ToString(); // Clear textbox textBox1.Text = ""; return; } } MessageBox.Show("Your input is not a number from 1 - 9"); break; } }

this.label2.Click += new System.EventHandler(this.label2_Click);  

此外,您不需要此行,请将其删除:

if(isset($_GET['id'])) 
{
   //  get record from table of that id and show into form
   try 
   {
      $sql = "SELECT * FROM auditplan WHERE id = :cid";
      $stmt = $DB->prepare($sql);
      $stmt->bindValue(":cid",intval($_GET['cid']));   
      $stmt->execute();
      $results = $stmt->fetchAll();
   }
   catch (Exception $ex) 
   {
      echo $ex->getMessage();
   }
   // Show your form fields here.like below
  ?>
       <input type="text" class="form-control col-xs-3" id="year" name ="year" value="<?php echo $results[0]["year"] ?>">
  <?php

} 
else 
{
    // Its create action , so show your form fields like
 ?>
     <input type="text" class="form-control col-xs-3" id="year" name ="year">
 <?php
}