读书人

C#中多个TextBox共同事件如何写

发布时间: 2012-08-03 00:12:14 作者: rapoo

C#中多个TextBox共同事件怎么写
想要容器groupBox内所有的文本框可以实现以下两个事件。事件内该怎么写呢?
注册事件时的代码有问题吗?
注:文本框的命名没有规则。比如第一个文本框名为txtBox1,可能第二个文本框名为txt2。


C# code
        public Form1()        {            InitializeComponent();            SetEvents();        }        /// <summary>        /// 注册事件        /// </summary>        void SetEvents()        {            foreach (Control ctl in this.groupBox.Controls)            {                if (ctl is TextBox)                {                    TextBox txtBox = ctl as TextBox;                    txtBox.Click += new System.EventHandler(txtBox_Click);                    txtBox.TextChanged += new EventHandler(txtBox_TextChanged);                }            }        }        private void txtBox_Click(object sender, EventArgs e)        {            //选中当前文本框所有文本            //类似实现if(txtBox1.Focus())            //               txtBox1.SelectAll();        }        private void txtBox_TextChanged(object sender, EventArgs e)        {            //文本框内文本改变触发事件        }


[解决办法]
注册事件时的代码没有问题。
至于各个事件里面的代码怎么写,还是一样的,用遍历来实现。
[解决办法]
可以啊 你把所有的 textbox都绑定 txtBox_Click 事件 不就行了吗
[解决办法]
C# code
Textbox textbox1 = (Textbox)sender;switch(textbox1.name){case "textbox1":{}}
[解决办法]
查看sender参数
[解决办法]
没问题。事件里面用sender获取执行的控件,如
TextBox txtBox = sender as TextBox;
if(txtBox.Focus())
txtBox.SelectAll();

读书人网 >C#

热点推荐