读书人

各位大牛帮忙给看看 先多谢了

发布时间: 2013-08-10 21:14:06 作者: rapoo

各位大牛帮忙给看看 先谢谢了


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);
}
}
}


[解决办法]
各位大牛帮忙给看看 先多谢了

读书人网 >C#

热点推荐