首页 > 解决方案 > 按钮返回变量字符串的值

问题描述

按钮可以返回变量的值吗?有可能吗?我是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;

}

标签: c#winforms

解决方案


好吧,类似的是由系统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);

推荐阅读