我想写一个程序,点“启动”按钮后开始不间断运行,直到点“终止”按钮后停止运行。请问各路大侠,如何用C#实现这个目标?最好附上代码,拜谢先~c#

解决方案 »

  1.   

    放一个定时器,编写你需要不断执行的代码两个按钮:
    timer1.Start();
    timer1.Stop();
      

  2.   

    http://msdn.microsoft.com/zh-cn/library/vstudio/y817hyb6(v=vs.80).aspx
      

  3.   

    用定时器,time1.enable=true启动,false终止。或者用一个while(true)循环
      

  4.   

    汗,很明显这个用循环做更好啊 。用WPF 拖2个按钮 然后加一个全局变量 bool类型的  开始按钮 让bool为真 终止按钮 bool为假   然后你写一个 程序  while(bool变量) {你要运行的程序};这个最简单  。加什么定时器啊小题大做。。
      

  5.   

    while(1)就行啊
    在循环里 检测按键 然后break
      

  6.   

    定义一个全局变量,然后在while循环中直接判断这个变量是否为真,按下start按钮设置该值为真,按下false按钮为假,然后退出循环
      

  7.   

    在《C# opel 游戏开发》中开篇就有介绍,最好使用循环,在主 main 下面 定义 loop,
      

  8.   


    是的。这本来就是“Start、Close”两个控制接口如何调用的模式问题。但是楼主的描述基于空洞的“不间断运行”的说法(他也不说“运行什么东西”),容易让人产生多余地帮他写个循环语句或者定时器调用的想法。
      

  9.   

    将循环放在工作线程中
    bool isStop = false;//以下是线程方法代码片段
    while(true)
    {
        if(isStop = true) break;
        DoSomeThig();
    }
      

  10.   


    不是什么程序都是定时刷新图片帧。而如果你是用了已经封装好的动画组件库,那么你也不需要自己去写循环。因为动画组建库有另外一套底层的循环调用机制,你根本就没有插手它的循环。你自己写另外一个循环,反而是画蛇添足的。那些讲述比较底层的基础知识的书,不是随便套用的。当你使用层次高一点的工具,那么你就只能把那些低层的理论,先放到一边,重新学习程序控制流程了。先:楼主只说是一直运行,并没有说具体是怎么运行,运行什么。你说一个动画组件和我说的时时检测是一个概念么请问?
    再:winform,是消息机制,程序打开后,系统自动检测的是消息,自定义一个循环进行自定义检测,有错么请问?
    你为楼主加了一个封装好的动画组件库???你写给TA的吗请问?楼主有说是动画吗请问?
      

  11.   


    不是什么程序都是定时刷新图片帧。而如果你是用了已经封装好的动画组件库,那么你也不需要自己去写循环。因为动画组建库有另外一套底层的循环调用机制,你根本就没有插手它的循环。你自己写另外一个循环,反而是画蛇添足的。那些讲述比较底层的基础知识的书,不是随便套用的。当你使用层次高一点的工具,那么你就只能把那些低层的理论,先放到一边,重新学习程序控制流程了。先:楼主只说是一直运行,并没有说具体是怎么运行,运行什么。你说一个动画组件和我说的时时检测是一个概念么请问?
    再:winform,是消息机制,程序打开后,系统自动检测的是消息,自定义一个循环进行自定义检测,有错么请问?
    你为楼主加了一个封装好的动画组件库???你写给TA的吗请问?楼主有说是动画吗请问?是不是你写的程序,打开后对着它喊:“你给我一直运行!” 完了它就乖乖的自动运行了??
      

  12.   

    楼主,你还是描述清楚比较好,因为程序在你打开之后,它就是处于一直运行的状态。如果你要运行单独的功能块或者代码段,建议使用While(true)循环
      

  13.   

    我觉得楼主问的问题肯定没有你们说的这么复杂。。
    还是用timer吧,用while(true)估计会写的很卡~
      

  14.   

    如果只是楼主描述的那般,那么实现的方式是很多的,像循环,定时器,window服务等等这是在不考虑具体业务和性能以及其他第三方因素的情况下。具体的选择还是需要楼主结合自己的项目业务的需要来选择哪种实现方式的,如果一直运行有涉及大量的后台操作的话,那么window服务应该是个不错的选择,如果只是简单的一些操作的话,那么定时器和循环都是可以的,循环一般用在简单的操作,而且操作不会太消耗系统资源操作时间短具体问题具体分析~ 
      

  15.   

    感谢大家的建议,我感觉用TIMER控件做起来比较简单。
    可能我最初没把我的需求写清楚,我原本想做一个自动PING目标主机的程序,点击开始按钮,程序就开始PING,当目标主机上线或下线时,写入日志。点击终止按钮就中断程序。
    就是这样,谢谢大家~