[英]How Can I get a value from a base class that has been declared as an Interface?
[英]How can I check if a form has been opened, and if it has, get the value from the control?
基本上,我有一个带有Calendar(frmCalendar)控件的表单。 我有另一个具有DatePicker(frmDatePicker)的表单。
frmDatePicker可以在创建frmCalendar之前打开。
我需要知道的是,我该怎么办?
如果您需要知道上下文,则datePicker将设置在应用程序外部创建的Reports的当前quarterEnd日期。
日历在应用程序内部使用。
如果DatePicker默认为应用程序中选择的当前季度日期(如果已选择),则“很高兴”。
编辑
Main Form
| \
| \
frmCalendar frmReports
\
\
frmDatePicker
还好吗?
如果表单都在同一个应用程序中,我会个人使用属性。 我将有一个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;
}
}
}
有几种方法可以解决这个问题:
Components.Find<componentWrapper>()
,如果它存在,则获取它并对其执行任何操作。 就像订阅组件的事件一样 我确信还有很多方法,虽然我发现数字1最简单,但仍然使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.