C# timer计时器每秒提取数据库不同字段显示到textbox,但我没有多少积分,求助!

timer空间部分代码for(inti=0;i<=ds.Tables[0].Rows.Count;i++){textBox1.Text=ds.Tables[0].Rows... timer空间部分代码for ( int i=0;i <= ds.Tables[0].Rows.Count;i++ )
{
textBox1.Text = ds.Tables[0].Rows[i][1].ToString();
if (i >=ds.Tables[0].Rows.Count)
i = 0;
}上面代码不能实现,原因可能是第一秒时久进入for循环出不来了,若用 int i =0;
textBox1.Text = ds.Tables[0].Rows[i][1].ToString();
i=i+1 ;
if (i >=ds.Tables[0].Rows.Count)
i = 0;
这里的问题是若定义int i=0,则每秒启用timer,i都赋值为0,i++失去作用,只写int i代码不能通过编译。帮帮忙啊
VB只需要声明static int i 就行了,C#怎么办呢?
展开
 我来答
aaasuper
2011-07-09 · TA获得超过801个赞
知道小有建树答主
回答量:431
采纳率:100%
帮助的人:615万
展开全部
你应该是想实现每秒执行一次上门的代码吧,定时器不是这样用的
public Form1()
{
InitializeComponent();
Timer t = new Timer(); //创建对象
t.Tick += new System.EventHandler(timer1_Tick); //添加定时器响应事件
t.Interval = 1000; //设置定时时间为1秒
t.Start(); //启动定时器
}
int i = 0;
void timer1_Tick(object sender, EventArgs e)
{
textBox1.Text = ds.Tables[0].Rows[i][1].ToString();
i=i+1;
if (i >=ds.Tables[0].Rows.Count)
i = 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友800ca566d
2011-07-09 · TA获得超过359个赞
知道小有建树答主
回答量:491
采纳率:0%
帮助的人:389万
展开全部
先定义public int i = 0;

using System;
……
namespace Easy.Convoy{
public partial class frmMyClass
{
public frmMyClass()
{
InitializeComponent();
}
public int i = 0;

private void frmMyClass_Load(object sender, EventArgs e)
{
timer事件
}
timer事件
{
textBox1.Text = ds.Tables[0].Rows[i][1].ToString();
i++;
if (i >=ds.Tables[0].Rows.Count)
i=0;
}

}

大概就是这个意思,你试试
追问
行了,是单击一个按钮触发触发timer,然后实现采集   private void button1_Click(object sender, EventArgs e)
{
timer1.Enabled=true;
}刚开始我是将int i=0写在这里的,不行,听你说了之后我写在public partial class Form1
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式