我做了个小程序,需要用到一个timer控件,在这个timer控件事件里需要下载、提取网页源码,而且还需要用switch来判断是不是指定的文字,如果是就执行一个命令,小弟口才不佳,希望大家能看懂,到这问题就来了,timer控件运行后先下载网页源代码然后提取其中指定文字,再判断这个文字是不是我指定的文字,如果是就执行一个命令,比如打开某网页,就像下面的
 switch (mingling)
            {
                case "百度":
                    Process.Start("http://www.baidu.com/");
                    break;
            }
mingling是变量,但是这样运行后会一直打开百度,我想让它只执行一次,网上也有人问,但答案都是让timer控件停止运行,我的想法是让它只执行一次,而不影响timer控件的正常运行,我的这个timer控件需要不停地下载和提取内容,所以不能停止它,大家有没有好的办法,让它只运行一次命令然后继续判断。

解决方案 »

  1.   

    var 百度已经打开=false
    switch (mingling)
       {
       case "百度":
    如果 百度已经打开=false
       Process.Start("http://www.baidu.com/");
    百度已经打开=true
       break;
       }
      

  2.   

    直接用下面的方法         /// <summary>
             /// 根据链接地址 获取 Html文本
              /// </summary>
            public static string Get_Html(string Url)
            {
                System.Net.WebClient wc = new System.Net.WebClient();
                try
                {
                    Byte[] pageData = wc.DownloadData(Url);
                    wc.Credentials = System.Net.CredentialCache.DefaultCredentials;
                    wc.Dispose();
                    return System.Text.Encoding.Default.GetString(pageData);
                }
                catch (Exception ex)
                {
                }
                finally
                {
                   
                }
                return "";
            }
      

  3.   


    switch (mingling)
      {
      case "百度":
      Get_Html(@“http://www.baidu.com”);
      break;
      }