As Alfie said, when you create a new instance of Form1 it has nothing to do with the current running instance which you could probably find created and run in Main
method in Program.cs
file in your solution:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1()); // THIS INSTANCE
}
It would be better you become more familiar with Object Oriented Programming (OOP) if you have difficulty understanding this. In past programming languages like VB6 we only had one Form1. But in OOP like C# you could have thousands instances of Form1, more informally speaking thousands of Form1.
However perhaps the best solution to what you want to do is to change the default way of running Form1:
static class Program
{
public static Form1 myForm1;
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
myForm1= new Form1 ();
Application.Run(myForm1);
}
}
and use this to manipulate the instance:
Program.myForm1.AddToListView();
By the way, doing so seems quite unnatural to me in sense of OOP. Please add comments about any ideas you might have about this ?