c# - 按钮返回变量字符串的值
问题描述
按钮可以返回变量的值吗?有可能吗?我是winform的新手,所以......了解我。最终目标是编写一个带有两个按钮的简单代码,如果单击该按钮,则返回一个带有 var 值的 msgbox。
private string button3_Click(object sender, EventArgs e)
{
string res = "PASS";
MessageBox.Show(res);
return res;
}
private string button4_Click(object sender, EventArgs e)
{
string res = "FAIL";
MessageBox.Show(res);
return res;
}
解决方案
好吧,类似的是由系统button3_Click
调用的所谓回调函数,这就是为什么不返回任何值(系统不需要它)。让我们提取一个方法:
private string MyButtonClick(object sender) {
string result = "";
if (sender == button3)
result = "PASS"; //TODO: better read it from resources, not hadcoded
else if (sender == button4)
result = "FAIL"; //TODO: better read it from resources, not hadcoded
if (!string.IsNullOrEmpty(result))
MessageBox.Show(result);
return result;
}
然后你可以放:
// System callback function
// void: System callback function signature
private void button3_Click(object sender, EventArgs e) {
MyButtonClick(sender);
}
// void: System callback function signature
private void button4_Click(object sender, EventArgs e) {
MyButtonClick(sender);
}
或者
// custom code
string myClickMessage = MyButtonClick(button4);
推荐阅读
- javascript - onClick 仅在-element上触发
- java - 如何在使用 javamail 发送电子邮件时安全地使用凭据
- c# - 文件未从 File 或 PhysicalFile IActionResult 下载
- doorkeeper - 将范围限制为某些用户
- python - 在成本函数中包含与预期模型输出的偏差
- c# - 有没有办法阻止我的页面在我导航到它们时只闪烁进出?
- unix - 使用 find 命令计算某些类型的可执行文件
- mysql - 安装 MySQL 5.6 Lightsail Ubuntu
- node.js - 在 ubuntu 中的 apache 服务器 (vps) 上运行节点项目
- c - 在 HTTP 站点开始挂起之前 C 套接字未接收到所有数据