各位大牛帮忙给看看 先谢谢了
public class Work
{
Timer timer = new Timer();
string str;
public Work()
{
Start();
}
public string Find()
{
str = "str";
return str;
}
public void Start()
{
timer.Interval = 100;
timer.Enabled = true;
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
timer.Start();
}
void timer_Elapsed(object sender, ElapsedEventArgs e)
{
Find();
}
}
目的:每隔一段时间就执行一次find()
在另外一个类中怎么样获取到find()的返回值呢
当然 具体需求中find()的返回值的每次都不一样的
没啥分了 给位牛人给看看怎么弄 谢谢了
[解决办法]
Random 随机生成~
[解决办法]
http://msdn.microsoft.com/zh-cn/library/vstudio/wkays279.aspx
[解决办法]
你的find()不是已经返回了str吗?还返回什么??不懂~~
------解决方案--------------------
使用委托呗。与其问委托能做什么,不如就拿你这个例子自己琢磨下!
[解决办法]
我理解下来LZ应该是想要这个结果
namespace WindowsFormsApplication1
{
public partial class TestForm : Form
{
public TestForm()
{
InitializeComponent();
}
public class Work
{
Timer timer = new Timer();
public static string str = "Initial"; //声明为静态变量
int count;//用于显示计数 以便区别Trick是否执行
public Work()
{
Start();
}
//修改Find方法 添加一个参数 需要改变值的字段 ref修饰(不明白请自行百度 不赘述)
public string Find(ref string st)
{
count++;
st = "ValueChanged" + count;
return st;
}
public void Start()
{
timer.Interval = 5000;//间隔时间5秒
timer.Enabled = true;
timer.Tick += new EventHandler(timer_Tick);
timer.Start();
}
void timer_Tick(object sender, EventArgs e)
{
Find(ref str);
}
}
//窗体加载时实例化Work类 即执行Start()方法
private void TestForm_Load(object sender, EventArgs e)
{
Work w = new Work();
}
//点击按钮获取str的值
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(Work.str);
}
}
}
[解决办法]
