c#在winform中, 实现多个"复制"按钮通过绑定一个方法来实现分别复制不同的TextBox的值

一 前言

这段时间一直在写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

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页

打赏作者

老刘pro

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值