在C#VSTO中命令而不是'转到'

时间:2014-01-28 15:18:54

标签: c# vsto

'Goto'的另一个命令是什么?我正在使用VSTO为excel制作一个功能区,并且似乎不支持Goto,我正在尝试创建一个循环。

编辑:这是我想要创建的循环:

   TimeSpan startTimeSpan = new TimeSpan(0, 0, 0, 20);

    TimeSpan timeDecrease = TimeSpan.FromSeconds(1);

    private Timer timer = new Timer();

    public void Ribbon_Load(Office.IRibbonUI ribbonUI)
    {
        timer.Interval = 1000;
        this.ribbon = ribbonUI;
        timer.Tick += timer_Tick;
        timer.Start();
    }

    private void timer_Tick(object sender, EventArgs e)
    {
        if (startTimeSpan.ToString() != "00:00:00")
        {
        startTimeSpan = startTimeSpan - timeDecrease;
        ribbon.InvalidateControl("timerLabel");
        }
        else
        {

 //when timer drop to "00:00:00" then loop to "TimeSpan startTimeSpan = new TimeSpan(0, 0, 0, 20);"

        }
    }

3 个答案:

答案 0 :(得分:1)

您可能希望使用while循环,在while语句中使用退出条件,并在达到退出条件之前使用break退出循环,或{ {1}}跳过循环的当前迭代并继续下一步。

答案 1 :(得分:0)

C#支持goto命令,但不支持循环。跳转语句通常不是最佳解决方案。

转到 - http://msdn.microsoft.com/en-us/library/13940fs2.aspx

如果您尝试循环,只需使用循环语句。

循环 - http://msdn.microsoft.com/en-us/library/ms228598(v=vs.90).aspx

答案 2 :(得分:0)

你可以在excel VSTO上找到很多q& a。

类似的东西出了什么问题:

for (int i = selectedRange.Rows.Count; i > 0; i--)
{
  ---YOUR CODE HERE---
}

OR

foreach (Excel.Range row in rng.Areas[1].Rows)
{
   ---YOUR CODE HERE---
}