单击form2按钮时如何停止form1的计时器

法扎尔·阿巴斯

我有一个计时器在我的 form1 上运行,我希望当我点击 form2 的按钮时它会停止。我该怎么做。任何人都在这里寻求帮助。是定时器启动码。

        //timer1.Start();
        //picboxstart.Image = Resources.puse;

        panelwork.BackColor = Color.MediumSeaGreen;
        lbltime.ForeColor = Color.White;
        if (t.Enabled)
        {
            MessageBox.Show("Sure !!! Your Start time is been Registered...", "Success Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
            //lblstarttime.Text = DateTime.Now.ToString();

            try
            {

                string sql = "INSERT INTO Todaywork(Username,Start_time,Date,Total_time,TodayDate)VALUES('" + lblusrname.Text + "','" + lbltime.Text + "','" + DateTime.Now.ToString() + "','" + lbltime.Text + "','"+DateTime.Now+"')";



                if (conn.State != ConnectionState.Open)
                    conn.Open();

                command = new SqlCommand(sql, conn);


                int x = command.ExecuteNonQuery();

                conn.Close();


            }

所以当我点击 form2 button.plz help 时,我想停止计时器

王凯尔 - MSFT

Form1之间是什么关系Form2如果Form2是通过 中的按钮打开Form1,则可以通过定义自定义属性PropertyTimer来获取timer1实例来实现。

表格1.cs

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        timer1.Enabled = true;
    }

    int i = 0;

    private void timer1_Tick(object sender, EventArgs e)
    {
        Console.WriteLine(i++);
    }

    private void btOpenForm2_Click(object sender, EventArgs e)
    {
        Form2 form2 = new Form2();
        form2.PropertyTimer = timer1;
        form2.Show();
    }
}

表格2.cs

public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
    }

    public Timer PropertyTimer { get; set; }

    private void btStopTimer_Click(object sender, EventArgs e)
    {
        PropertyTimer.Stop();
    }
}

如果它们之间没有关系,这里是使用Application.OpenForms 属性的通用方法

以下是步骤:

首先,定义一个属性timerinForm1.cs来获取timer1 instance.

public Timer timer
{
    get { return timer1; }
    set { timer1 = value; }
}

然后,通过Application.OpenForms Propertyin访问计时器Form2.cs

private void btStopTimer_Click(object sender, EventArgs e)
{
    Form1 f1 = (Form1)(Application.OpenForms["Form1"]);
    f1.timer.Stop();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过按钮单击将值从 form1 传递到 form2 到 form2

将多行从Form1的gridview传递到Form2,然后单击按钮

只需单击 form1 上的一个按钮即可打开 form2

在VB.NET中单击按钮时,如何将数据从Form2发送到Form1到Form1文本框中?

关闭form2时关闭form1(通过红色十字按钮)

如何从form1到form2取值并返回?

在C#中,当我单击Form1的按钮时,我想发送Form1的字符串值以出现在Form2的textBox中

如何在Windowsform应用程序中从Form2更改Form1中动态创建的按钮颜色

如何停止按钮单击所影响的计时器?

当我执行OnDblClick事件(Form1)打开Form2时,它将触发Form2的OnCellClick事件,而无需单击form2网格

如何使计时器在单击 Javascript 时停止

单击按钮时如何设置计时器?

单击按钮时如何添加秒表计时器?

Form2关闭时Form1执行方法不起作用

使用 php/javascript 或 jquery 提交 form2 时阻止其他 form1 提交

关闭Form2后刷新Form1

禁用form2移出form1

从 Form1 到 Form2 的显示变量

当form1中的值发生变化时如何使form2更新

如何从Form2访问Form1的非静态方法

如果我关闭了 Form2,如何关闭 Form1?

使用Form1的公共变量从Form1调用Form2的函数

从form2中的按钮我想在form1的面板中添加动态按钮。此代码不起作用

时间用完时,通过单击或停止按钮来停止/冻结计时器(setInterval)

当我单击html中javascript中的按钮之一时,如何停止计时器加速?

如何在不创建新Form()的情况下从Form2访问Form1函数;

在 Form2 上调用函数时从 Form1 上的文本框中获取文本

当我单击按钮对象时如何显示 form2 的新对象?(C#-Windows 窗体应用程序)

将 Form1 中的“Private Sub Procedure1”从 Form2 更改为“Public -”(Form1)