使用委托将变量发送到文本框
本文关键字:文本 变量 | 更新日期: 2023-09-27 18:04:24
如何获取或引用我在button1_Click()
中创建的变量k
?
考虑我不能将其设为公共或静态。同时,我想把这个变量的值发送给textbox.text
;
如何做到这一点?
public delegate string fac(int x);
public static fac intostring = factory;
public static string factory(int x)
{
string inst = x.ToString();
return inst;
}
public class MyClass
{
static public string s = intostring(/*here*/);
public string Text;
public MyClass(Form Form1)
{
var textbox = Form1.Controls.Find("textBox1", true).FirstOrDefault();
Text = ((TextBox)textbox).Text = (s);
}
}
private void button1_Click(object sender, EventArgs e)
{
int k = 1;
intostring(k);
MyClass my = new MyClass(this);
}
首先,变量k
在button1_Click中的作用域是函数button1_Click
,您不能在该函数作用域之外获得对它的引用!
然后,intostring(k);
行实际上没有做任何有用的事情,因为您没有使用调用委托的返回结果。
要将文本框的文本设置为k的值,只需在这里这样做:
int k = 1;
var textbox = Form1.Controls.Find("textBox1", true).FirstOrDefault();
((TextBox)textbox).Text = k