e.Start
is a DateTime object so you can format its string override and, optionally, pass in a particular culture.
private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
{
this.Text = "Selected Month: " + e.Start.ToString("MMMM", CultureInfo.InvariantCulture));
}
To get it to appear on the next form, you can update Form2's constructor.
private DateTime _dt
public Form2(DateTime dt)
{
_dt = dt;
this.Text = dt.ToString("MMMM", CultureInfo.InvariantCulture));
}
Then when you open that form, pass in the DateTime object from the calendar
Form2 f2 = new Form2(dtObjectFromCalendar);
f2.ShowDialog();
Form2 can then display the month name as shown above.
As per comment, you can pass a string instead.
public Form2(string textToDisplay)
{
this.Text = textToDisplay;
}
You can then call that form like this (assuming you keep the code in your question)
//this.Text because you set the value of this.Text in your question
Form2 f2 = new Form2(this.Text);
f2.ShowDialog();