Question

what is another command for 'Goto' ? I am using VSTO to make a ribbon for excel and is doesnt seem to support Goto, and I am trying to create a loop.

Edit: This is the loop i am trying to create :

   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);"

        }
    }
Was it helpful?

Solution

You probably want to be using a while loop, with the exit condition in the while statement, and use break to quit the loop before the exit condition is reached, or continue to skip the current iteration of the loop and go on to the next.

OTHER TIPS

C# does support goto command, but it isn't for looping. Jump statements are very often not the best solution.

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

If you are trying to loop just use a looping statement.

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

You can find a lot of q&a on excel VSTO.

Whats wrong with something like:

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---
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top