private void Connect_Click(object sender, RoutedEventArgs e)
        {            if (cam2 != null)
                cam2.Close();
            try
            {
                int port = int.Parse(tbPort.Text);
                cam2 = new NetCamera2(tbIP.Text, port);
                cam2.Start();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        } 
 private void Pings_Click(object sender, RoutedEventArgs e)
        {
            Ping pingSender = new Ping();
            PingOptions options = new PingOptions();            //Latency.Text = "这里显示文本输出";            options.DontFragment = true;            string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
            byte[] buffer = Encoding.ASCII.GetBytes(data);
            int timeout = 120;            PingReply reply = pingSender.Send("192.168.0.1", timeout, buffer, options);
            
            if (reply.Status == IPStatus.Success)
            {
                Console.WriteLine("Address: {0}",  reply.Address.ToString());
                 Console.WriteLine("RoundTrip time: {0}",  reply.RoundtripTime);
                 Console.WriteLine("Time to live: {0}",  reply.Options.Ttl);
                 Console.WriteLine("Don't fragment: {0}",  reply.Options.DontFragment);
                 Console.WriteLine("Buffer size: {0}",  reply.Buffer.Length);
            }
            ipverification.Text ="Address: " + reply.Address.ToString();
            //string entity = null;            //int[] entity = new int[10];
            String a =   "RoundTrip time: " + reply.RoundtripTime;
            //String a = String.valueOf(aa);
            //entity.userid = int.parse(delay.Text);
            delay.Text = a;
            String b = "Time to live: "+ reply.Options.Ttl  ;
            live.Text = b;
            String c = "Don't fragment: " + reply.Options.DontFragment;
            fragment.Text = c;
            String d = "Buffer size: " + reply.Buffer.Length;
            Latency.Text = d;
        }
上面一个函数是动态获取用户输入的ip地址
下面一个函数是检测网络是否连接的方法 体现在是否可以ping通这个ip地址
现在我想请问一下各位大神如何在这个ping值里面始终获取用户动态输入的ip地址

解决方案 »

  1.   

    你把下面那个ping方法,提炼成一个方法,传入参数为ip,然后在你的窗体的textbox的textchanged事件里,调用这个方法就可以了。
      

  2.   

    写个定时器,定时校验。
    要么在控件tbPort的值改变事件中调用ping函数
      

  3.   


    TextChanged 事件的参数里面会有存储新旧 Text 的属性,你可以使用这个参数。
      

  4.   

    一个数据模型,它是超脱于个别的函数的,那么它就应该建模在对象的属性上。然后你可以使用 INotifyPropertyChanged 等类似的机制来进一步设计。不是说什么“一个函数获取另外一个函数中的变量”,而要从改变概念层次逻辑关系开始学习!
      

  5.   

    你先学习如何面向对象来画一个对象的数据结构图,知道“属性、方法、接口”等等概念。起码知道设计一个class 为什么要有属性。这些还需要学2年。
      

  6.   

    把第一个的click事件换成text的change事件应该可以吧