C#求解timer控件知识
大家好,,经过一晚上的奋斗,和,start()和stop()的方法好奇怪,我stop后,再也启动不了,最后参照msdn上timer的用法,我也终于解决了下我自己贴子的问题,
http://bbs.csdn.net/topics/390368476
我的解决方法是::
现在我测试出来的就不会出现界面卡现象,,我有两个问题我想不明白,想问问大家,
①:我这种方法可行么?因为我觉得这个timer也好像是没隔1s就创建了很多线程一样,myTimer.Stop();这句代码没有效果,个人感觉:我现在这个代码的流程和我以前做的那个流程差不多。但是为啥效果会不一样。。
②我测试了下,好像就是这句代码给的效果static System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();但是我不懂,这句代码和我从控件界面直接拉下来的timer控件有什么不同的么。。。
http://bbs.csdn.net/topics/390368476
我的解决方法是::
public void hexing_name_select()
{
hexing_line hexing = new hexing_line();
for (int i = 0; i < hexing.hexing_name.Count(); i++)
{
hexing_date.Rows.Add();
hexing_date.Rows[i].Cells[0].Value = hexing.hexing_name[i];
hexing_date.Rows[i].Cells[1].Value = hexing.hexing_ip[i];
}
}
public void hexing_ping(object obj)
{
int i = Convert.ToInt32(obj);
Ping pp = new Ping();
PingReply ppResult = pp.Send(Convert.ToString(hexing_date.Rows[i].Cells[1].Value), 10);
hexing_date.Rows[i].Cells[2].Value = ppResult.RoundtripTime.ToString();
hexing_date.Rows[i].Cells[3].Value = ppResult.Status.ToString();
hexing_date.Rows[i].Cells[4].Value = z;
}
static System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();
public void hexing_click_select(object source, EventArgs e)
{
//myTimer.Stop();我尝试了下,这个stop不stop都不会影响到ping的时候会卡界面的情况。
z+=1;
if (z < 10)
{
hexing_thread();
myTimer.Enabled = true;////是不是这一句起到了作用?求解
}
else
{
myTimer.Enabled = false;
}
}
public void hexing_thread()
{
int line_count = hexing_date.RowCount;
Thread[] line_PING = new Thread[line_count];
for (int a = 0; a < line_count; a++)
{
line_PING[a] = new Thread(new ParameterizedThreadStart(hexing_ping));
line_PING[a].Start(a);
}
}
private void hexing_check_Click(object sender, EventArgs e)
{
hexing_date.Rows.Clear();
hexing_name_select();
myTimer.Tick += new EventHandler(hexing_click_select);
myTimer.Interval = 1000;
myTimer.Start();
}现在我测试出来的就不会出现界面卡现象,,我有两个问题我想不明白,想问问大家,
①:我这种方法可行么?因为我觉得这个timer也好像是没隔1s就创建了很多线程一样,myTimer.Stop();这句代码没有效果,个人感觉:我现在这个代码的流程和我以前做的那个流程差不多。但是为啥效果会不一样。。
②我测试了下,好像就是这句代码给的效果static System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();但是我不懂,这句代码和我从控件界面直接拉下来的timer控件有什么不同的么。。。
...全文
相关推荐
C#做的迷宫
C# 计时 播放音乐,本人刚做的小程序,希望大家多指导
C#利用Timer控件实现图片运动
界面如图: 一个开始button;停止button;picture控件;timer控件 代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using
C# timer控件使用
C# 中的使用timer控件来制作电子时钟,而且好可以利用timer控件来实现定时操作的例子。
C# 使用Timer控件显示当前时间
C# 使用Timer控件显示当前时间! 值得下载看看!资源免费,大家分享!! 更多免费资源 http://ynsky.download.csdn.net/
C# WinForm-Timer控件的使用
比如在窗体中显示时间: 错误思路一:我在窗体结构函数中写入一个死循环,每隔一秒显示一次当前时间 public Form6() { InitializeComponent(); while (true) { label1.Text = DateTime.Now.ToString(yyyy年MM月dd日hh时mm分ss秒); System.Threading.Thread.Sleep(1000); } } 错误原因:结构函数无限循环,结构函数读不完代码是无法打开窗体的 错误思路二:放置一个按钮,


