日期:2014-05-20  浏览次数:20940 次

数据表中记录为何会“隐身”?
数据表中记录为何会“隐身”?

我在做一摇号系统。

有一功能:点击按钮,frmChild1上的Timer1启动,TextBox1便不停滚动显示数据表Person中的记录。

                private   void   timer1_Tick(object   sender,   EventArgs   e)
                {
                        //获取Person表
                        DataTable   myDT   =   this.dataDataSet1.Person;
                        //创建随机数
                        Random   rnd   =   new   Random();
                        //根据记录总数获取随机数
                        int   i   =   rnd.Next(myDT.Rows.Count);         //-------@@@@@@-------
                        //获取该行记录
                        DataRow   dtRow   =   myDT.Rows[i];
                        //显示该行记录的编号
                        textBox1.Text   =   dtRow[ "编号 "].ToString();
                }

如果在frmChild1上设一按钮来激活Timer,则程序运行正确:
                private   void   btnCmd_Click(object   sender,   EventArgs   e)
                {
                          myTimer1.Enabled   =   true;         //----------在这里激活Timer-----------
}

其中,myTimer1在frmChild类中定义如下:
                public   Timer   myTimer1
                {
                        get
                        {
                                return   timer1;
                        }
}

然而,如果从另一窗体frmOutlookBar的按钮上激活frmChild1的Timer,则程序运行错误:
                void   OnOutlookBarItemClicked(OutlookBarBand   band,   OutlookBarItem   item)
                {
                        switch   (item.Text)
                        {
                                case   "开始 ":
                                        frmChild1   myfrmChild1=GetfrmChild1();
                                        myfrmChild1.myTimer1.Enabled   =   true;         //----------在这里激活Timer-----------