所以基本上,我有一个带有Calendar(frmCalendar)控件的表单。我有另一个有DatePicker(frmDatePicker)的表单。
可以在创建frmCalendar之前打开frmDatePicker。
我需要知道的是,我怎么能
如果您需要了解上下文,则datePicker将设置Reports的当前quarterEnd日期,这些日期是在应用程序之外创建的。
日历在应用程序内部使用。
如果DatePicker默认为应用程序中选择的当前季度日期(如果已选择),则“很高兴”。
修改
Main Form
| \
| \
frmCalendar frmReports
\
\
frmDatePicker
还好吗?
答案 0 :(得分:2)
如果表格都在同一个应用程序中,我会亲自使用属性。我将有一个formOpened属性,返回一个bool来检查表单是否已打开,我将有一个quarterEndingDate属性,它将从datePicker返回DateTime。
即。在主要表格中:
if (frmcalender != null)
{
if (frmcalender.formOpened)
textBox1.Text = frmcalender.quarterEndDate.ToShortDateString();
}
在frmCalender中:
public partial class frmCalendar : Form
{
bool activated;
public frmCalendar()
{
InitializeComponent();
activated = true;
}
public bool formOpened
{
get
{
return activated;
}
}
public DateTime quarterEndDate
{
get
{
return mcUserDate.Value;
}
set
{
mcUserDate.Value = value;
}
}
}
答案 1 :(得分:0)
有几种方法可以解决这个问题:
Components.Find<componentWrapper>()
,如果它存在,获取它并做任何事情。就像订阅组件的事件等我确定还有很多方法,但我发现数字1最简单,但仍然使用它。