首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

2013-08-10 
各位大牛帮忙给看看 先谢谢了 public class Work{Timer timer new Timer()string strpublic Work(){St

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


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


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

热点排行