Start by looking at the function / method definition - it's the first line of the method (Don't worry about the difference, just call them "methods" in C# and mentally translate "function" to "method" when you see it. They are just different terms for the same thing).
So in the code you show, the first line is:
private void PopulateTreeView(int parentId, TreeNode parentNode)
And that is the method definition, which describes the method and how you use it.
private Access control: how visible it it to the outside world?
In this case, it is only visible inside the class in which
it is defined.
void Return type. In this case, teh methid does not return any value.
PopulateTreeView Method name
( Start of parameter list
int parentId, First parameter: an integer
TreeNode parentNode Second parameter: a TreeNode
) End of parameter list
This is called the method signature.
Because none of the parameters are optional (i.e. they aren't followed by an equals sign and a default value) you must provide both of them when you call the method, you cannot omit either or you will get a compiler error. (There is a way to call a method with different parameters, but that involves writing a similar method with the same name that takes different parameters: a method with a different signature. This is called method overloading.)
So when you call it, you pass values as the parameters:
PopulateTreeView(666, listHead);
for example.
The exact values you pass are up to you: the ones I show will probably not work at all, but it should be obvious from wherever you got the method source code what exactly to pass to it!