一 前言
这段时间一直在写socket物联网通信部分, 自己写了个生成指令的小工具,其中生成好的指令就像下面这个样子的:
每次使用调试工具的时候,还得ctrl+a之后在ctrl+c, 现在懒到想点一次就可以, 于是就像做成如下的样子:
刚拖了一个按钮, 写上方法, 觉得还有哪个多按钮, 得一个一个的复制粘贴, 然后在一个个的改名, 就甚是头疼.
于是, 懒癌发作, 让这么多个复制按钮通过绑定一个方法来实现分别复制多个TextBox的值.
二 实现
1. 在构造函数里添加如下代码, 实现多个按钮绑定一个方法
// 批量为复制按钮添加Click事件
copy01TextBtn.Click += new EventHandler(copyTextBtn_Click);
copy02TextBtn.Click += new EventHandler(copyTextBtn_Click);
copy03TextBtn.Click += new EventHandler(copyTextBtn_Click);
copy04TextBtn.Click += new EventHandler(copyTextBtn_Click);
2. 实现copyTextBtn方法
#region 复制按钮的实现
private void copyTextBtn_Click(object sender, EventArgs e) {
// 建立字典, 设置Button与TextBox的对应关系
Dictionary<string, string> btnToTextBoxArr = new Dictionary<string, string>();
btnToTextBoxArr.Add("copy01TextBtn", copy01TextBox.Text);
btnToTextBoxArr.Add("copy02TextBtn", copy02TextBox.Text);
btnToTextBoxArr.Add("copy03TextBtn", copy03TextBox.Text);
btnToTextBoxArr.Add("copy04TextBtn", copy04TextBox.Text);
// 根据传入的Button.name来确定复制哪个TextBox的值
string textBoxStr = btnToTextBoxArr[((Button)sender).Name.ToString()];
if(textBoxStr.Length != 0) {
Clipboard.SetDataObject(textBoxStr);
}
}
#endregion
说明: (1) copy01TextBtn是"复制"按钮的name, 02,03,04也是类似的.
(2) copy01TextBox是"复制"按钮前的TextBox的name, 02,03,04也是类似的.
三 写在最后
1. 春节的时候还在考虑是应该研究下java, go, phtyon, 还是c#. 后来工作需要就开始写了c#. 现在看来, 很多事情想的多反而不能解决问题, 只有尝试一下才能有更深的感悟. 愿大家也一直行进在路上.
2. 因为C# 只是刚刚开始写, 可能会有不少不规范和不合理的地方, 希望大家多多评论, 多多交流, 多多指正.谢谢!
3. 推荐一下我的blog http://laoliu.pro