如何让我的winforms应用程序根据表单上文本框中定义的间隔点击表单上的按钮?
我试过了:
private void Form1_Load(object sender, EventArgs e)
{
Timer tm;
tm = new Timer();
tm.Interval = 1000;
tm.Tick += new EventHandler(button1_Click);
}
一旦计时器启动,他们在对话框中单击是,然后我希望计时器重新启动。
我有以下内容:
if (result1 == DialogResult.Yes)
{
string pastebuffer = DateTime.Now.ToString();
pastebuffer = "### Edited on " + pastebuffer + " by " + txtUsername.Text + "###";
Clipboard.SetText(pastebuffer);
}
else if (result1 == DialogResult.No)
{
//do something else
}
答案 0 :(得分:1)
要停止计时器,请使用
tm.Stop();
然后你可以改变任何间隔,或任何其他属性
tm.Interval = int.Parse(textBox1.Text); // Will fail on non-int input...
然后使用,
tm.Start();
答案 1 :(得分:1)
从textBox添加间隔并启动计时器,只需点击一下按钮:
private void button1_Click(object sender, EventArgs e)
{
timer1.Stop(); // if you need to stop, then stop it here
timer1.Interval = int.Parse(textBox1.Text);
timer1.Start();
}
答案 2 :(得分:1)
使用此代码。希望它会有所帮助。在类级别上定义时间tm ,以便您可以在Form1_load函数外部进行访问。
Timer tm;
private void Form1_Load(object sender, EventArgs e)
{
tm = new Timer();
tm.Interval = 1000;
tm.Tick += new EventHandler(button1_Click);
}
if (result1 == DialogResult.Yes)
{
'if you want to restart your timer than add here.
tm.stop()
tm.Interval = int.Parse(newinterval.text);
string pastebuffer = DateTime.Now.ToString();
pastebuffer = "### Edited on " + pastebuffer + " by " + txtUsername.Text + "###";
Clipboard.SetText(pastebuffer);
tm.start()
}
else if (result1 == DialogResult.No)
{
//do something else
}