You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为C#按钮点击事件函数传入自定义字符串参数?

按钮点击事件传递字符串参数的解决方案

方法一:Lambda表达式包裹(最简便)

直接在绑定事件时用Lambda表达式包装目标方法,传入指定字符串参数:

// 替换"yourTargetName"为你要传入的字符串
De.Click += async (sender, e) => await De_Click(sender, e, "yourTargetName");

注意:异步方法推荐返回Task而非void,可将方法签名改为public async static Task De_Click(object sender, EventArgs e, String Name),更利于异步流程管控。

方法二:利用Button的Tag属性传递

将字符串赋值给按钮的Tag属性,在事件方法内读取该值:

  1. 修改事件方法,移除Name参数:
public async static void De_Click(object sender, EventArgs e) 
{
    Button targetBtn = sender as Button;
    if (targetBtn != null)
    {
        string name = targetBtn.Tag.ToString();
        // 执行原有业务逻辑
    }
}
  1. 绑定事件前设置Tag并绑定:
De.Tag = "yourTargetName";
De.Click += new EventHandler(De_Click);

方法三:自定义委托(复杂场景适用)

如果需要传递多类参数,可定义自定义委托匹配方法签名:

  1. 定义自定义委托:
public delegate void CustomClickHandler(object sender, EventArgs e, string name);
  1. 绑定事件时通过Lambda关联:
De.Click += (sender, e) => De_Click(sender, e, "yourTargetName");

内容的提问来源于stack exchange,提问作者mohammaderfan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 18:37:05