如何防止第一次在C#中运行事件

Mojtaba SH

我有一个组合框,发生了这样的事件:

private void CowTypeSelect_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (MessageBox.Show("  آیا مطمئن هستید","",
            MessageBoxButtons.OKCancel,MessageBoxIcon.Warning) == DialogResult.OK)
        {

            NotGrazingradioButton.Checked = true;

            if (CowTypeSelect.SelectedIndex == 0)
            {
                CowTypeDefaults.LactatingCow(this);
                CowTypeVarlbl.Text = "گاو شیری";
            }
            else if (CowTypeSelect.SelectedIndex == 1)
            {
                CowTypeDefaults.DryCow(this);
                CowTypeVarlbl.Text = "گاو خشک";
            }
            else if (CowTypeSelect.SelectedIndex == 2)
            {
                CowTypeDefaults.ReplacementHeifer(this);
                CowTypeVarlbl.Text = "تلیسه جایگزین";
            }
            else
            {
                CowTypeDefaults.YoungCalf(this);
                CowTypeVarlbl.Text = "گوساله";
            }
        }

    }

但是我以加载形式为此Combox设置了默认索引,

现在的问题是,当我在甚至未打开messageBox的情况下运行该程序时,是否有任何方法可以防止第一次不运行该逻辑?

// -----

如您所说,我更改了代码,如下所示:

    bool FirstRun = true;
    private void CowTypeSelect_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (FirstRun == true)
        {
            FirstRun = false;
            return;
        }

        if (MessageBox.Show("آیا مطمئن هستید؟", "", 
  MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK)

        {
            NotGrazingradioButton.Checked = true;

        if (CowTypeSelect.SelectedIndex == 0)
        {
            CowTypeDefaults.LactatingCow(this);
            CowTypeVarlbl.Text = "گاو شیری";
        }

        else if (CowTypeSelect.SelectedIndex == 1)
        {
            CowTypeDefaults.DryCow(this);
            CowTypeVarlbl.Text = "گاو خشک";
        }
        else if (CowTypeSelect.SelectedIndex == 2)
        {
            CowTypeDefaults.ReplacementHeifer(this);
            CowTypeVarlbl.Text = "تلیسه جایگزین";
        }
        else
        {
            CowTypeDefaults.YoungCalf(this);
            CowTypeVarlbl.Text = "گوساله";
        }

        }

但是现在的问题是这些代码不是第一次运行,我需要它们运行:

    NotGrazingradioButton.Checked = true;

    if (CowTypeSelect.SelectedIndex == 0)
    {
        CowTypeDefaults.LactatingCow(this);
        CowTypeVarlbl.Text = "گاو شیری";
    }

我应该怎么办 ?

J3soon

似乎您不了解@Patrick Hofman的代码。

firstRun变量指示该功能是否在第一次执行。

下面的行表示如果是第一次执行,它将更改firstRunfalse并在该return;之后停止执行代码(我添加了一些评论以使您更清楚。)

// Put codes here if you want it to execute every time.
if (firstRun)
{
    // Codes here execute at the first time only.
    firstRun = false;
    return;
}
//Codes here execute except the first time.

固定码

第一次运行以下行

NotGrazingradioButton.Checked = true;

if (CowTypeSelect.SelectedIndex == 0)
{
    CowTypeDefaults.LactatingCow(this);
    CowTypeVarlbl.Text = "گاو شیری";
}

if (MessageBox.Show(...))运行后的线条(第一次除外)

完整代码如下:

bool FirstRun = true;
private void CowTypeSelect_SelectedIndexChanged(object sender, EventArgs e)
{
    if (FirstRun == true)
    {
        // Codes here execute at the first time only.
        NotGrazingradioButton.Checked = true;
        if (CowTypeSelect.SelectedIndex == 0)
        {
            CowTypeDefaults.LactatingCow(this);
            CowTypeVarlbl.Text = "گاو شیری";
        }
        FirstRun = false;
        return;
    }

    //Codes below execute except the first time.
    if (MessageBox.Show("آیا مطمئن هستید؟", "", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK)
    {
        NotGrazingradioButton.Checked = true;

        if (CowTypeSelect.SelectedIndex == 0)
        {
            CowTypeDefaults.LactatingCow(this);
            CowTypeVarlbl.Text = "گاو شیری";
        }

        else if (CowTypeSelect.SelectedIndex == 1)
        {
            CowTypeDefaults.DryCow(this);
            CowTypeVarlbl.Text = "گاو خشک";
        }
        else if (CowTypeSelect.SelectedIndex == 2)
        {
            CowTypeDefaults.ReplacementHeifer(this);
            CowTypeVarlbl.Text = "تلیسه جایگزین";
        }
        else
        {
            CowTypeDefaults.YoungCalf(this);
            CowTypeVarlbl.Text = "گوساله";
        }
    }

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何防止第一次在C#中运行事件

来自分类Dev

jQuery的焦点行事奇怪,只在第一次

来自分类Dev

如何防止第一次重新提交Formik

来自分类Dev

在第一次调用完成事件句柄之前,如何防止任何按钮单击事件排队

来自分类Dev

如何停止CSS转换第一次运行?

来自分类Dev

第一次运行jstree

来自分类Dev

检查while循环是否在C#中的第一次迭代中

来自分类Dev

python asyncio运行事件循环一次?

来自分类Dev

Focusout 事件在输入事件 jQuery 中的第一次激活时不起作用

来自分类Dev

使用jquery / javascript防止第一次警报

来自分类Dev

第一次启动时如何防止通知权限?

来自分类Dev

jQuery事件第一次不起作用

来自分类Dev

jQuery事件第一次不起作用

来自分类Dev

jQuery单击事件仅在第一次工作

来自分类Dev

在Maya 2015中,如何获取python重新加载此模块?构造函数仅在第一次运行

来自分类Dev

为什么UpdatePanel中的按钮在第一次之后不执行JQuery事件

来自分类Dev

第一次单击后,如何让此文本框在浏览器中显示不同的页面(winforms C#)

来自分类Dev

Windows 7中第一次运行的APTANA错误(最后一个版本)

来自分类Dev

第一次尝试运行KIVY

来自分类Dev

第一次运行机器学习项目

来自分类Dev

第一次尝试运行KIVY

来自分类Dev

Observable<String?> 仅第一次运行

来自分类Dev

我如何在工作簿第一次打开时运行宏?

来自分类Dev

如何知道我的Java应用程序是第一次运行

来自分类Dev

我离线时如何第一次运行android studio?

来自分类Dev

如何在第一次调用.NET dll时运行方法?

来自分类Dev

Ember第一次完成加载时如何运行功能

来自分类Dev

我如何在工作簿第一次打开时运行宏?

来自分类Dev

每次第一次运行 screen 时如何不接收 GNU 通知

Related 相关文章

  1. 1

    如何防止第一次在C#中运行事件

  2. 2

    jQuery的焦点行事奇怪,只在第一次

  3. 3

    如何防止第一次重新提交Formik

  4. 4

    在第一次调用完成事件句柄之前,如何防止任何按钮单击事件排队

  5. 5

    如何停止CSS转换第一次运行?

  6. 6

    第一次运行jstree

  7. 7

    检查while循环是否在C#中的第一次迭代中

  8. 8

    python asyncio运行事件循环一次?

  9. 9

    Focusout 事件在输入事件 jQuery 中的第一次激活时不起作用

  10. 10

    使用jquery / javascript防止第一次警报

  11. 11

    第一次启动时如何防止通知权限?

  12. 12

    jQuery事件第一次不起作用

  13. 13

    jQuery事件第一次不起作用

  14. 14

    jQuery单击事件仅在第一次工作

  15. 15

    在Maya 2015中,如何获取python重新加载此模块?构造函数仅在第一次运行

  16. 16

    为什么UpdatePanel中的按钮在第一次之后不执行JQuery事件

  17. 17

    第一次单击后,如何让此文本框在浏览器中显示不同的页面(winforms C#)

  18. 18

    Windows 7中第一次运行的APTANA错误(最后一个版本)

  19. 19

    第一次尝试运行KIVY

  20. 20

    第一次运行机器学习项目

  21. 21

    第一次尝试运行KIVY

  22. 22

    Observable<String?> 仅第一次运行

  23. 23

    我如何在工作簿第一次打开时运行宏?

  24. 24

    如何知道我的Java应用程序是第一次运行

  25. 25

    我离线时如何第一次运行android studio?

  26. 26

    如何在第一次调用.NET dll时运行方法?

  27. 27

    Ember第一次完成加载时如何运行功能

  28. 28

    我如何在工作簿第一次打开时运行宏?

  29. 29

    每次第一次运行 screen 时如何不接收 GNU 通知

热门标签

归档