当前位置:编程学习 > C#/ASP.NET >>

timer 的tick()没有触发

       private void Form1_Load(object sender, EventArgs e)
        {
            td = new Thread(new ThreadStart(this.StartListen));
            td.Start();
            richTextBox1.AppendText("---"+DateTime.Now.ToLongTimeString()+"---\n启动成功,等待客户端接入...\n");
            richTextBox1.ScrollToCaret();

            timer1.Enabled = true;
            timer1.Start();
        }

        private void StartListen()
        {
            message = "";
            IPAddress MyIP = IPAddress.Parse("127.0.0.1");
            tcpListener = new TcpListener(MyIP,888);
            tcpListener.Start();
                       
            while (true)
            {
                TcpClient tclient = tcpListener.AcceptTcpClient();  //接受连接请求
                NetworkStream nstream = tclient.GetStream();        //获取数据流
                byte[] mbyte = new byte[1024];                      //建立缓存
                int i = nstream.Read(mbyte, 0, mbyte.Length);       //将数据流写入缓存
                message = Encoding.Default.GetString(mbyte, 0, i);
            }
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (message != "")
            {
                richTextBox1.AppendText("message");
                richTextBox1.ScrollToCaret();
                message = "";
            }
        }



执行之后发现 timer1_Tick 并没有执行,求解答 --------------------编程问答-------------------- 没看到你的timer1_Tick和timer1的绑定,两者压根没关系,只不过名字相近而已。 --------------------编程问答--------------------
引用 1 楼 qldsrx 的回复:
没看到你的timer1_Tick和timer1的绑定,两者压根没关系,只不过名字相近而已。

什么意思啊,新手求指导 --------------------编程问答-------------------- 求助啊。、。。。。。。 --------------------编程问答-------------------- timer1的internal什么的怎么设置的?
在*.Designer.cs文件中能找到。 --------------------编程问答-------------------- 在Form1_Load里面加上
timer.tick += StartListen(); --------------------编程问答--------------------
引用 2 楼 binker123456 的回复:
引用 1 楼 qldsrx 的回复:没看到你的timer1_Tick和timer1的绑定,两者压根没关系,只不过名字相近而已。
什么意思啊,新手求指导


事件绑定的意思 --------------------编程问答--------------------
引用 4 楼 findcaiyzh 的回复:
timer1的internal什么的怎么设置的?
在*.Designer.cs文件中能找到。

这个里面没有timer1的internal --------------------编程问答--------------------
引用 5 楼 usen521 的回复:
在Form1_Load里面加上
timer.tick += StartListen();


提示是这个啊:
错误 1 “System.Windows.Forms.Timer”不包含“tick”的定义,并且找不到可接受类型为“System.Windows.Forms.Timer”的第一个参数的扩展方法“tick”(是否缺少 using 指令或程序集引用?) C:\Users\lenovo\Desktop\server\server\server\Form1.cs 36
--------------------编程问答-------------------- 你 双击timer控件 --------------------编程问答--------------------
引用 9 楼 l397870376 的回复:
你 双击timer控件


我的那个就是双击添加进去的,但是timer1_Tick 没执行 --------------------编程问答--------------------
引用 6 楼 leafmao 的回复:
引用 2 楼 binker123456 的回复:引用 1 楼 qldsrx 的回复:没看到你的timer1_Tick和timer1的绑定,两者压根没关系,只不过名字相近而已。
什么意思啊,新手求指导

事件绑定的意思


求指导啊,怎么绑定啊,直接双击timer进去然后添加不行么 --------------------编程问答-------------------- Timer.Interval Property

Gets or sets the time, in milliseconds, before the Tick event is raised relative to the last occurrence of the Tick event.

不知道有没有默认值。 --------------------编程问答--------------------
引用 11 楼 binker123456 的回复:
引用 6 楼 leafmao 的回复:引用 2 楼 binker123456 的回复:引用 1 楼 qldsrx 的回复:没看到你的timer1_Tick和timer1的绑定,两者压根没关系,只不过名字相近而已。
什么意思啊,新手求指导

事件绑定的意思

求指导啊,怎么绑定啊,直接双击timer进去然后添加不行么


直接双击可以的
触发间隔你设定的多少啊,就是timer的Interval值
在if (message != "")这设个断点看看有没有触发事件 --------------------编程问答--------------------  

       private void Form1_Load(object sender, EventArgs e)
        {
            td = new Thread(new ThreadStart(this.StartListen));
            td.Start();
            richTextBox1.AppendText("---"+DateTime.Now.ToLongTimeString()+"---\n启动成功,等待客户端接入...\n");
            richTextBox1.ScrollToCaret();
 
            timer1.Enabled = true;

timer1.Interval = 1000;
timer.tick += StartListen();

            timer1.Start();
        }




试试这段代码。 --------------------编程问答--------------------


1
2
3
4
5
6
7
8
9
10
11
12
13
14
       private void Form1_Load(object sender, EventArgs e)
        {
            td = new Thread(new ThreadStart(this.StartListen));
            td.Start();
            richTextBox1.AppendText("---"+DateTime.Now.ToLongTimeString()+"---\n启动成功,等待客户端接入...\n");
            richTextBox1.ScrollToCaret();
  
            timer1.Enabled = true;
 
timer1.Interval = 1000;
timer.tick += StartListen()
 
            timer1.Start();
        }
--------------------编程问答-------------------- 贴个代码老贴错!!!??? 


private void Form1_Load(object sender, EventArgs e)
        {
            td = new Thread(new ThreadStart(this.StartListen));
            td.Start();
            richTextBox1.AppendText("---"+DateTime.Now.ToLongTimeString()+"---\n启动成功,等待客户端接入...\n");
            richTextBox1.ScrollToCaret();
  
            timer1.Enabled = true;
 
<span style="color: #FF0000;">timer1.Interval = 1000;
timer.tick += StartListen();</span>
 
            timer1.Start();
        }
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,