子窗体使用MonthCalendar显示月份
本文关键字:显示 MonthCalendar 窗体 | 更新日期: 2023-09-27 18:21:03
我想用文字而不是数字显示所选月份。Form1和Form2都是父MasterForm的子窗体。Form1有一个MonthCalendar和一个名为btnCreate的按钮。用户将选择一个月并单击按钮。之后,Form2将出现,并在Form标题上显示所选月份。
下面的代码以数字显示所选月份
private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
{
this.Text = "Selected Month: " + e.Start.Month;
}
这将在Form1中显示选定的月份,但我想在Form2中显示它吗?
e.Start
是一个DateTime对象,因此您可以格式化其字符串覆盖,并可以选择传入特定的区域性。
private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
{
this.Text = "Selected Month: " + e.Start.ToString("MMMM", CultureInfo.InvariantCulture));
}
为了让它出现在下一个表单上,您可以更新Form2的构造函数。
private DateTime _dt
public Form2(DateTime dt)
{
_dt = dt;
this.Text = dt.ToString("MMMM", CultureInfo.InvariantCulture));
}
然后,当您打开该表单时,从日历中传入DateTime对象
Form2 f2 = new Form2(dtObjectFromCalendar);
f2.ShowDialog();
Form2然后可以显示如上所示的月份名称。
根据注释,您可以传递一个字符串。
public Form2(string textToDisplay)
{
this.Text = textToDisplay;
}
然后,您可以这样调用该表单(假设您保留问题中的代码)
//this.Text because you set the value of this.Text in your question
Form2 f2 = new Form2(this.Text);
f2.ShowDialog();