C#时间控件自动点击按钮

头上一片天空 2017-11-16 03:40:40

哥哥们,我想写一个时间控件帮我自动点击的事件,但是我一直不知道怎么写,这是我第一次发帖子,哪位长得帅的哥哥嫩刚告诉我一下吗?
这事代码
private void timer1_Tick(object sender, EventArgs e)
{
string sql = string.Format(@"select COUNT(*) from dbo.Users where jizhu=1 and zi=1 and id={0}",TXT_name.Text);
DataTable dt=代码.xi(sql);
int i = Convert.ToInt32(dt.Rows[0][0].ToString());
if(i>0){
button1_Click(null, EventArgs.Empty);
}
}
...全文
942 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 13 楼 lv1204 的回复:
[quote=引用 12 楼 xomix 的回复:] [quote=引用 11 楼 lv1204 的回复:] [quote=引用 10 楼 xomix 的回复:] [quote=引用 9 楼 lv1204 的回复:] 你们你们能不能好好回答人家的问题一下


 int num = 0;
 private void timer1_Tick(object sender, EventArgs e)
        {
            //num用来记录多少秒  timer1_Tick这个事件每秒都会进来
            num++;
            //当num>=60秒(也就是1分钟后),就可执行if括号里面的代码
            //你想事件多少秒执行一次就修改60就好了
            if (num >= 60)
            {
                //代码执行到这一步时num已经>=60了,那么它之后的每秒都会进入这里,所以这里要把num初始化为0
                //这里如果还不理解为什么要num=0你再问我吧
                num = 0;
                string sql = string.Format(@"select COUNT(*) from dbo.Users where jizhu=1 and zi=1 and id={0}", TXT_name.Text);
                //DataTable dt = 代码.xi(sql);
                int i = Convert.ToInt32(dt.Rows[0][0].ToString());
                if (i > 0)
                {
                    //这里不用这样写button1_Click(null, EventArgs.Empty);
                    //你可以试试下面这句 
                    //不知道时间控件可以这样调用么,应该是不可以,如果不可以你直接删除了this.button1_Click(sender, e); 这句就ok
                    this.button1_Click(sender, e);
                    //上面这句不行那么你就可以把button1_Click事件里写的代码全部粘贴到这里让她在这里执行button1_Click里面的代码就行了
                    //例如private void button1_Click(object sender,ItemClickEventArgs e)
                    //{
                          //例如事件里写的弹窗代码,把这个MessageBox.Show("Test");写出来就好了
                          //MessageBox.Show("Test");
                    //}
                    MessageBox.Show("Test");   //你想执行的代码替换掉就ok了
                }
            }
        }

哈哈 看你应该是第一次接触,所以注释有点多,别嫌太乱,只是为了让你更容易懂得
你这个怕是要报错,e那边可能类型不同有个转换错。[/quote] 麻烦你看清楚点[/quote] …………所以就不传入值,如果对方button点击的时候根据button和点击的左右键处理,你传空值进去是对的吗?[/quote] 是是是 我的错我的错 我不对我不对 我不懂我不懂 您老也别挑我的理了[/quote] 这是一个思路的问题,你在这时候要想到更加通用的方案,然后去查找这种方案的实现方法,不是置空可以执行就结束在置空。
清澈的风 2017-11-21
  • 打赏
  • 举报
回复
引用 12 楼 xomix 的回复:
[quote=引用 11 楼 lv1204 的回复:] [quote=引用 10 楼 xomix 的回复:] [quote=引用 9 楼 lv1204 的回复:] 你们你们能不能好好回答人家的问题一下


 int num = 0;
 private void timer1_Tick(object sender, EventArgs e)
        {
            //num用来记录多少秒  timer1_Tick这个事件每秒都会进来
            num++;
            //当num>=60秒(也就是1分钟后),就可执行if括号里面的代码
            //你想事件多少秒执行一次就修改60就好了
            if (num >= 60)
            {
                //代码执行到这一步时num已经>=60了,那么它之后的每秒都会进入这里,所以这里要把num初始化为0
                //这里如果还不理解为什么要num=0你再问我吧
                num = 0;
                string sql = string.Format(@"select COUNT(*) from dbo.Users where jizhu=1 and zi=1 and id={0}", TXT_name.Text);
                //DataTable dt = 代码.xi(sql);
                int i = Convert.ToInt32(dt.Rows[0][0].ToString());
                if (i > 0)
                {
                    //这里不用这样写button1_Click(null, EventArgs.Empty);
                    //你可以试试下面这句 
                    //不知道时间控件可以这样调用么,应该是不可以,如果不可以你直接删除了this.button1_Click(sender, e); 这句就ok
                    this.button1_Click(sender, e);
                    //上面这句不行那么你就可以把button1_Click事件里写的代码全部粘贴到这里让她在这里执行button1_Click里面的代码就行了
                    //例如private void button1_Click(object sender,ItemClickEventArgs e)
                    //{
                          //例如事件里写的弹窗代码,把这个MessageBox.Show("Test");写出来就好了
                          //MessageBox.Show("Test");
                    //}
                    MessageBox.Show("Test");   //你想执行的代码替换掉就ok了
                }
            }
        }

哈哈 看你应该是第一次接触,所以注释有点多,别嫌太乱,只是为了让你更容易懂得
你这个怕是要报错,e那边可能类型不同有个转换错。[/quote] 麻烦你看清楚点[/quote] …………所以就不传入值,如果对方button点击的时候根据button和点击的左右键处理,你传空值进去是对的吗?[/quote] 是是是 我的错我的错 我不对我不对 我不懂我不懂 您老也别挑我的理了
  • 打赏
  • 举报
回复
引用 11 楼 lv1204 的回复:
[quote=引用 10 楼 xomix 的回复:] [quote=引用 9 楼 lv1204 的回复:] 你们你们能不能好好回答人家的问题一下


 int num = 0;
 private void timer1_Tick(object sender, EventArgs e)
        {
            //num用来记录多少秒  timer1_Tick这个事件每秒都会进来
            num++;
            //当num>=60秒(也就是1分钟后),就可执行if括号里面的代码
            //你想事件多少秒执行一次就修改60就好了
            if (num >= 60)
            {
                //代码执行到这一步时num已经>=60了,那么它之后的每秒都会进入这里,所以这里要把num初始化为0
                //这里如果还不理解为什么要num=0你再问我吧
                num = 0;
                string sql = string.Format(@"select COUNT(*) from dbo.Users where jizhu=1 and zi=1 and id={0}", TXT_name.Text);
                //DataTable dt = 代码.xi(sql);
                int i = Convert.ToInt32(dt.Rows[0][0].ToString());
                if (i > 0)
                {
                    //这里不用这样写button1_Click(null, EventArgs.Empty);
                    //你可以试试下面这句 
                    //不知道时间控件可以这样调用么,应该是不可以,如果不可以你直接删除了this.button1_Click(sender, e); 这句就ok
                    this.button1_Click(sender, e);
                    //上面这句不行那么你就可以把button1_Click事件里写的代码全部粘贴到这里让她在这里执行button1_Click里面的代码就行了
                    //例如private void button1_Click(object sender,ItemClickEventArgs e)
                    //{
                          //例如事件里写的弹窗代码,把这个MessageBox.Show("Test");写出来就好了
                          //MessageBox.Show("Test");
                    //}
                    MessageBox.Show("Test");   //你想执行的代码替换掉就ok了
                }
            }
        }

哈哈 看你应该是第一次接触,所以注释有点多,别嫌太乱,只是为了让你更容易懂得
你这个怕是要报错,e那边可能类型不同有个转换错。[/quote] 麻烦你看清楚点[/quote] …………所以就不传入值,如果对方button点击的时候根据button和点击的左右键处理,你传空值进去是对的吗?
清澈的风 2017-11-21
  • 打赏
  • 举报
回复
引用 10 楼 xomix 的回复:
[quote=引用 9 楼 lv1204 的回复:]
你们你们能不能好好回答人家的问题一下



int num = 0;
private void timer1_Tick(object sender, EventArgs e)
{
//num用来记录多少秒 timer1_Tick这个事件每秒都会进来
num++;
//当num>=60秒(也就是1分钟后),就可执行if括号里面的代码
//你想事件多少秒执行一次就修改60就好了
if (num >= 60)
{
//代码执行到这一步时num已经>=60了,那么它之后的每秒都会进入这里,所以这里要把num初始化为0
//这里如果还不理解为什么要num=0你再问我吧
num = 0;
string sql = string.Format(@"select COUNT(*) from dbo.Users where jizhu=1 and zi=1 and id={0}", TXT_name.Text);
//DataTable dt = 代码.xi(sql);
int i = Convert.ToInt32(dt.Rows[0][0].ToString());
if (i > 0)
{
//这里不用这样写button1_Click(null, EventArgs.Empty);
//你可以试试下面这句
//不知道时间控件可以这样调用么,应该是不可以,如果不可以你直接删除了this.button1_Click(sender, e); 这句就ok
this.button1_Click(sender, e);
//上面这句不行那么你就可以把button1_Click事件里写的代码全部粘贴到这里让她在这里执行button1_Click里面的代码就行了
//例如private void button1_Click(object sender,ItemClickEventArgs e)
//{
//例如事件里写的弹窗代码,把这个MessageBox.Show("Test");写出来就好了
//MessageBox.Show("Test");
//}
MessageBox.Show("Test"); //你想执行的代码替换掉就ok了
}
}
}



哈哈 看你应该是第一次接触,所以注释有点多,别嫌太乱,只是为了让你更容易懂得


你这个怕是要报错,e那边可能类型不同有个转换错。[/quote]



麻烦你看清楚点
  • 打赏
  • 举报
回复
引用 9 楼 lv1204 的回复:
你们你们能不能好好回答人家的问题一下


 int num = 0;
 private void timer1_Tick(object sender, EventArgs e)
        {
            //num用来记录多少秒  timer1_Tick这个事件每秒都会进来
            num++;
            //当num>=60秒(也就是1分钟后),就可执行if括号里面的代码
            //你想事件多少秒执行一次就修改60就好了
            if (num >= 60)
            {
                //代码执行到这一步时num已经>=60了,那么它之后的每秒都会进入这里,所以这里要把num初始化为0
                //这里如果还不理解为什么要num=0你再问我吧
                num = 0;
                string sql = string.Format(@"select COUNT(*) from dbo.Users where jizhu=1 and zi=1 and id={0}", TXT_name.Text);
                //DataTable dt = 代码.xi(sql);
                int i = Convert.ToInt32(dt.Rows[0][0].ToString());
                if (i > 0)
                {
                    //这里不用这样写button1_Click(null, EventArgs.Empty);
                    //你可以试试下面这句 
                    //不知道时间控件可以这样调用么,应该是不可以,如果不可以你直接删除了this.button1_Click(sender, e); 这句就ok
                    this.button1_Click(sender, e);
                    //上面这句不行那么你就可以把button1_Click事件里写的代码全部粘贴到这里让她在这里执行button1_Click里面的代码就行了
                    //例如private void button1_Click(object sender,ItemClickEventArgs e)
                    //{
                          //例如事件里写的弹窗代码,把这个MessageBox.Show("Test");写出来就好了
                          //MessageBox.Show("Test");
                    //}
                    MessageBox.Show("Test");   //你想执行的代码替换掉就ok了
                }
            }
        }

哈哈 看你应该是第一次接触,所以注释有点多,别嫌太乱,只是为了让你更容易懂得
你这个怕是要报错,e那边可能类型不同有个转换错。
清澈的风 2017-11-21
  • 打赏
  • 举报
回复
你们你们能不能好好回答人家的问题一下


 int num = 0;
 private void timer1_Tick(object sender, EventArgs e)
        {
            //num用来记录多少秒  timer1_Tick这个事件每秒都会进来
            num++;
            //当num>=60秒(也就是1分钟后),就可执行if括号里面的代码
            //你想事件多少秒执行一次就修改60就好了
            if (num >= 60)
            {
                //代码执行到这一步时num已经>=60了,那么它之后的每秒都会进入这里,所以这里要把num初始化为0
                //这里如果还不理解为什么要num=0你再问我吧
                num = 0;
                string sql = string.Format(@"select COUNT(*) from dbo.Users where jizhu=1 and zi=1 and id={0}", TXT_name.Text);
                //DataTable dt = 代码.xi(sql);
                int i = Convert.ToInt32(dt.Rows[0][0].ToString());
                if (i > 0)
                {
                    //这里不用这样写button1_Click(null, EventArgs.Empty);
                    //你可以试试下面这句 
                    //不知道时间控件可以这样调用么,应该是不可以,如果不可以你直接删除了this.button1_Click(sender, e); 这句就ok
                    this.button1_Click(sender, e);
                    //上面这句不行那么你就可以把button1_Click事件里写的代码全部粘贴到这里让她在这里执行button1_Click里面的代码就行了
                    //例如private void button1_Click(object sender,ItemClickEventArgs e)
                    //{
                          //例如事件里写的弹窗代码,把这个MessageBox.Show("Test");写出来就好了
                          //MessageBox.Show("Test");
                    //}
                    MessageBox.Show("Test");   //你想执行的代码替换掉就ok了
                }
            }
        }

哈哈 看你应该是第一次接触,所以注释有点多,别嫌太乱,只是为了让你更容易懂得
  • 打赏
  • 举报
回复

public Form1()
        {
            InitializeComponent();//Automatic generate
            InitializeTimer;//write by author
        }
 
private void InitializeTimer()
        {
            timer1.Interval = 1000;
            timer1.Enabled = true;
        }
 
private void timer1_Tick(object sender, EventArgs e)
        {
            string sql = string.Format(@"select COUNT(*) from dbo.Users where jizhu=1 and zi=1 and id={0}",TXT_name.Text);
            DataTable dt=代码.xi(sql);
            int i = Convert.ToInt32(dt.Rows[0][0].ToString());
            if(i>0)
                button1_Click(button1, mouseevent.left);//lz主要要看这句吧            
        }
Antony_WU_SZ 2017-11-20
  • 打赏
  • 举报
回复
public Form1()
        {
            InitializeComponent();//Automatic generate
            InitializeTimer;//write by author
        }

private void InitializeTimer()
        {
            timer1.Interval = 1000;
            timer1.Enabled = true;
        }

private void timer1_Tick(object sender, EventArgs e)
        {
            string sql = string.Format(@"select COUNT(*) from dbo.Users where jizhu=1 and zi=1 and id={0}",TXT_name.Text);
            DataTable dt=代码.xi(sql);
            int i = Convert.ToInt32(dt.Rows[0][0].ToString());
            if(i>0)
                button1_Click(null, null);            
        }
Antony_WU_SZ 2017-11-20
  • 打赏
  • 举报
回复
private void InitializeTimer()
        {
            systemTimetimer.Interval = 1000;
            systemTimetimer.Enabled = true;
        }
threenewbee 2017-11-18
  • 打赏
  • 举报
回复
button1.PerformClick();
  • 打赏
  • 举报
回复
我长的不帅,你这写的应该是动态查询数据库语句吧,timer事件添加button点击事件可以的
xfy_ 2017-11-17
  • 打赏
  • 举报
回复
同意三楼 timer控件的interval属性设定下自动点击的时间,它就会按照你设置的时间来
qq_41052720 2017-11-16
  • 打赏
  • 举报
回复
你这个只用在视图里面timer控件的interval属性设定下时间就可以了
zhoulin777 2017-11-16
  • 打赏
  • 举报
回复
是这个原理,在TIMER控件里面,调用按钮点击事件就好!当然按钮点击事件要存在。TIMER控件要设置频率。

110,560

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧