private void timer1_Tick(object sender, EventArgs e)
        {
            int RefreshTime;
            RefreshTime = (int)databasesDataSet.Tables["Parameter"].Rows[0]["RefreshTime"];
            MessageBox.Show(RefreshTime.ToString());
        }
----
上面代码测试通过,思路是:利用timer控件来定时显示出数据库里面的RefreshTime记录,当数据库里RefreshTime记录被外部程序修改时,timer控件也能在不重启程序或绑定(也就是在程序一直运行时),把修改后的新值显示出来

解决方案 »

  1.   

    Form定义OldRefreshTime,Form载入时读取:
    OldRefreshTime=Convert.ToInt32(databasesDataSet.Tables["Parameter"].Rows[0]["RefreshTime"]);private void timer1_Tick(object sender, EventArgs e)
            {
                int RefreshTime;
                RefreshTime = (int)databasesDataSet.Tables["Parameter"].Rows[0]["RefreshTime"];
    if(OldRefreshTime!=RefreshTime)
    {
    OldRefreshTime=Timer1.Interval=RefreshTime;
                MessageBox.Show(RefreshTime.ToString());

           }
      

  2.   

    当数据库里RefreshTime记录被外部程序修改时,先调用this.databasesDataSet.AcceptChanges();楼主,你想利用timer控件来定时显示出数据库里面的RefreshTime记录,用MessageBox.Show(RefreshTime.ToString());是要用户不停地点"确定"的吧,难道不用点的吗???   如果Timer1.Interval设得小的话,哈,惨!用一个lable吧,修改数据时,先this.timer1.Enabled=false;,修改成功后,this.timer1.Enabled=true;