Hello world! I'm talking about creating an array of objects in C#. I've started a new project called colorChange and I'm going to add a timer to the form. and the timer doesn't actually here on the form it's down beneath, it's a resource that the form can use. If I go to the properties for the timer, there is an enabled value I'm going to double-click and change that to true. and then the interval, I'm going to change to at least 1000. And every time the timer goes off, I'm going to change the color of the form. So I'm going to double-click on the timer control and write the code for the tick event for the timer. Let me just move that toolbox and properties window out of the way. Every time the timer goes off I went to change the color. and I'm going to create a global variable by putting this declaration right above form one. So that it's not inside any of these functions or methods of the form, but will be available to the whole form. If I make a string notice that string is a lower case s, And then the square brackets indicate that this is an array. I'm going to name it myColors = and then inside the curly braces I'm going to have "red", "white" and "blue" That red squiggle means we need a semicolon (;) And we have an array of colors, the words for the colors. Now I'm going to create an array of actual colors. and this begins with capital "C". Otherwise, the format is pretty much the same. And the curly braces, and then were going to have Color.red, (comma) Color.white, and Color.blue. and again, the semicolon. And then I also need an integer to indicate what position in the array int, and start that with 0. And then every time the timer goes off I have that there twice, let me get rid of this one. OK. Every time the timer goes off I'm going to say this.BackColor equals colors, referring to that array, "sub" position. And when I speak, I often say "sub" "sub" stands for subscript. So the first time the timer goes off we're going to make the background color red. That's in position zero, and I'm also going to put the text equals myColors "Sub" position ( [position] ) And then I'm going to add one to position, by using the ++ But now I've got to be careful! If it goes beyond, if it goes too far this is 0..1..2; if it becomes 3, I need to set it back to zero, but I'm going to use three, because I might decide to add green and yellow to this. So instead I'm going to use the Length function. If position is greater than or EQUAL to colors.Length position = 0; And let's run it. Wait a minute; it seems there's some error. Let's see what's happening here. There were build errors. NO! I don't want to run the last successful build. I have in here that there are I have tick_1, I'm going to change that to tick. And let's go and run it again and see if that solves the problem. There we go, it's red, white, blue, back to red., and so on. Let's go back to our code for that. I'm going to move this out of the way, since we solved that problem. If I changed this and I added another color here: Green, and I added Colors.Green here... that would cycle through all of those colors because I'm comparing it to colors.Length. instead of that. And these two arrays are very carefully kept in the same order and the same size Those are called parallel arrays, they are definitely related to each other. And now we have green included on that list. And that's it!