C# How to call an async method from another method : Am having a difficult time calling an async method from my current method.
Trying to do something like this:

    int i;
    public void Method1() {
        while (statement1) {
            ~code~
            Method2(i);
        }
        while (statement2) {
            ~code~
            Method2(i);
        }
    }

    public async void Method2(int i) {
        if(statement){
            ~code~
            await Task.Delay(2000);
        }
        else
        {
            ~code~
            await Task.Delay(2000);
        }
    }

So i want basically Method2 to be a method for controlling the flow(uses another method which changes pictures in pictureboxes), but i cant get it to work and when it works it never delays anything.. Does anyone know what am doing wrong?
Method2 changes Method1's while statements eventually.