c#按鈕與鍵盤綁定


  設置10個按鈕 如果按鈕表示數字0-9  有兩個文本框text1 text2  點擊每個文本框鍵盤操作時可以輸入1 2 3...  我想知道按鈕如何與鍵盤相應數字關聯  例如我點擊text1 就可以按0-9的按鈕在其中輸入數字?
 求具體程序?

4 个解决方案

#1



頁面上就拖了FlowLayoutPanel,然后默認放入一個TextBox,動態添加10個按鈕對應0~9,相關代碼就下面這點

private void Form1_Load(object sender, EventArgs e)
        {
            for (var i = 0; i < 10; i++)
            {
                Button bt = new Button();
                bt.Text = i.ToString();
                bt.Tag = i;
                bt.Click += bt_Click;
                this.flowLayoutPanel1.Controls.Add(bt);
            }
            
        }

        void bt_Click(object sender, EventArgs e)
        {
            this.textBox1.Text += ((Button)sender).Tag.ToString();
        }

#2


重新弄了個你要求的……
窗體上有TextBox1和TextBox2,然后都注冊了同一個click事件

private TextBox tb;
        private void Form1_Load(object sender, EventArgs e)
        {
            this.tb = this.textBox1;
            for (var i = 0; i < 10; i++)
            {
                Button bt = new Button();
                bt.Text = i.ToString();
                bt.Tag = i;
                bt.Click += bt_Click;
                this.flowLayoutPanel1.Controls.Add(bt);
            }
            
        }
        void bt_Click(object sender, EventArgs e)
        {
            if(tb!=null)
            {
                tb.Text += ((Button)sender).Tag.ToString();
            }
        }

        private void textBox1_Click(object sender, EventArgs e)
        {
            tb = (TextBox)sender;
        }

#3


引用 1 樓 starfd 的回復:

頁面上就拖了FlowLayoutPanel,然后默認放入一個TextBox,動態添加10個按鈕對應0~9,相關代碼就下面這點

private void Form1_Load(object sender, EventArgs e)
        {
            for (var i = 0; i < 10; i++)
            {
                Button bt = new Button();
                bt.Text = i.ToString();
                bt.Tag = i;
                bt.Click += bt_Click;
                this.flowLayoutPanel1.Controls.Add(bt);
            }
            
        }

        void bt_Click(object sender, EventArgs e)
        {
            this.textBox1.Text += ((Button)sender).Tag.ToString();
        }

這個只能實現向文本框1加數字啊 無法實現   其實我想實現的是 像圖這樣的 我點哪個就能像哪個文本框輸入

#4


請看第二個答復……

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com