问题描述
0到9十个按钮,但是有俩文本框,我想问下如何能实现点击0-9的button可以在光标选中的文本框输入数字?具体程序如何
解决方案
解决方案二:
直接赋值给文本框,点击btn1的话,文本框,text=1,依次类推。。
解决方案三:
ask中回答你了textBox1.SelectedText=(senderasButton.Text);
解决方案四:
这里面2楼的不就是么,你看了1楼就不看2楼的?
解决方案五:
第一,定义一个全局的textBox变量用来存储光标所在的textBox第二,在每个textBox的Enter事件里面给变量textBox赋值为当前光标所在的textBox第三,在每个Button的click事件里面进行字符串拼接就OK了如果是上图的效果,代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceWindowsFormsApplication1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();this.button1.Click+=newSystem.EventHandler(this.button0_Click);this.button2.Click+=newSystem.EventHandler(this.button0_Click);this.button3.Click+=newSystem.EventHandler(this.button0_Click);this.button4.Click+=newSystem.EventHandler(this.button0_Click);this.button5.Click+=newSystem.EventHandler(this.button0_Click);this.button6.Click+=newSystem.EventHandler(this.button0_Click);this.button7.Click+=newSystem.EventHandler(this.button0_Click);this.button8.Click+=newSystem.EventHandler(this.button0_Click);this.button9.Click+=newSystem.EventHandler(this.button0_Click);}TextBoxtmpTextBox=null;privatevoidtextBox1_Enter(objectsender,EventArgse){tmpTextBox=(TextBox)sender;}privatevoidbutton0_Click(objectsender,EventArgse){if(tmpTextBox==null){return;}Buttonbut=(Button)sender;switch(but.Text){case"0":tmpTextBox.Text+=but.Text;break;case"1":tmpTextBox.Text+=but.Text;break;case"2":tmpTextBox.Text+=but.Text;break;case"3":tmpTextBox.Text+=but.Text;break;case"4":tmpTextBox.Text+=but.Text;break;case"5":tmpTextBox.Text+=but.Text;break;case"6":tmpTextBox.Text+=but.Text;break;case"7":tmpTextBox.Text+=but.Text;break;case"8":tmpTextBox.Text+=but.Text;break;case"9":tmpTextBox.Text+=but.Text;break;}}}}
解决方案六:
增加一个变量Control类型lastFocus,在两个文本框的Enter事件中,记录lastFocus=文本框Leave事件中lastFocus=null按钮点击时,直接判断lastFocus是否等于null,不等于,则取(lastFocusasTextBox).Text