c#中如何动态获取另外一个函数中的变量

剑中疾风解脱众生 2018-12-25 10:45:24
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地址
...全文
953 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 8 楼 OrdinaryCoder 的回复:
把第一个的click事件换成text的change事件应该可以吧
是的 没错 但是问题很早就已经解决了 还是谢谢你
  • 打赏
  • 举报
回复
引用 6 楼 以专业开发人员为伍 的回复:
你先学习如何面向对象来画一个对象的数据结构图,知道“属性、方法、接口”等等概念。起码知道设计一个class 为什么要有属性。这些还需要学2年。
你讲的这些技术问题是可以 最后一句夸张了吧
OrdinaryCoder 2018-12-29
  • 打赏
  • 举报
回复
把第一个的click事件换成text的change事件应该可以吧
  • 打赏
  • 举报
回复
写个定时器,定时校验。
要么在控件tbPort的值改变事件中调用ping函数
全栈极简 2018-12-25
  • 打赏
  • 举报
回复
你把下面那个ping方法,提炼成一个方法,传入参数为ip,然后在你的窗体的textbox的textchanged事件里,调用这个方法就可以了。
  • 打赏
  • 举报
回复
你先学习如何面向对象来画一个对象的数据结构图,知道“属性、方法、接口”等等概念。起码知道设计一个class 为什么要有属性。这些还需要学2年。
  • 打赏
  • 举报
回复
一个数据模型,它是超脱于个别的函数的,那么它就应该建模在对象的属性上。然后你可以使用 INotifyPropertyChanged 等类似的机制来进一步设计。 不是说什么“一个函数获取另外一个函数中的变量”,而要从改变概念层次逻辑关系开始学习!
CDboyOne 2018-12-25
  • 打赏
  • 举报
回复
引用 3 楼 qq_23128403 的回复:
引用 1 楼 guwei4037 的回复:
你把下面那个ping方法,提炼成一个方法,传入参数为ip,然后在你的窗体的textbox的textchanged事件里,调用这个方法就可以了。
目前就是用按钮时间调用的方法 现在是不知道怎么提炼成可以传入参数为ip这一步


TextChanged 事件的参数里面会有存储新旧 Text 的属性,你可以使用这个参数。
  • 打赏
  • 举报
回复
引用 1 楼 guwei4037 的回复:
你把下面那个ping方法,提炼成一个方法,传入参数为ip,然后在你的窗体的textbox的textchanged事件里,调用这个方法就可以了。
目前就是用按钮时间调用的方法 现在是不知道怎么提炼成可以传入参数为ip这一步

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧