c#一个基础问题,如果鼠标点了textbox1,则按button后往textbox1添加数字。如果鼠标点到的是textbox2

就向textbox2添加数字。以下是代码,结果没反应

因为你点击button的时候button获得了焦点,文本框失去了焦点。焦点来判定是不可靠的。实在想实现你的效果,试试下面的

    public partial class Form1 : Form
    {
        int i = 0;

        public Form1()
        {
            InitializeComponent();
        }

        private void textBox1_Enter(object sender, EventArgs e)
        {
            this.i = 1;
        }

        private void textBox2_Enter(object sender, EventArgs e)
        {
            this.i = 2;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (this.i == 1)
                this.textBox1.Text += "1";
            else if (this.i == 2)
                this.textBox2.Text += "1";
        }
    }

追问

有没什么好的办法?

追答

我补充了。

追问

相当于用静态变量?

追答

是全局变量。当文本框获得焦点的时候就用一个变量记住获得焦点的文本框,点击button的时候这个变量不会随着焦点改变。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-28
textbox1.text.ToCharArray()或者其他的数组