访问其他Windows窗体类C#中的变量

时间:2018-12-10 23:33:49

标签: c#

我想从 frmMain 中推送我的变量 selectedDate ,以便它可以在 frmEvent 中使用。

var将在frmEvent中为该var值标记一个标签。这是我的代码:

private void monthCalendar1_SelectedDate(object sender, DateRangeEventArgs e)
    {
        var selectedDate = (DateTime.Parse(e.Start.ToShortDateString())).Day;
        frmEvent frmE = new frmEvent();
        frmE.Show();
    }

1 个答案:

答案 0 :(得分:0)

您可以执行以下两项操作之一。将日期添加到frmEvent的构造函数中,或者将属性添加到frmEvent并在调用.Show()之前进行设置。

构造方法:

public partial class frmEvent : Form
{
  private int SelectedDate;
  public frmEvent(int selectedDate)
  {
    InitializeComponent();
    SelectedDate = selectedDate;
  }
}

public partial class frmMain : Form
{
    private void monthCalendar1_SelectedDate(object sender, DateRangeEventArgs e)
    {
        var selectedDate = (DateTime.Parse(e.Start.ToShortDateString())).Day;
        frmEvent frmE = new frmEvent(selectedDate);
        frmE.Show();
    }
}

属性方式:

public partial class frmEvent : Form
{
    public int SelectedDate { get; set; }
    public frmEvent()
    {
        InitializeComponent();
    }
}

public partial class frmMain : Form
{
    private void monthCalendar1_SelectedDate(object sender, DateRangeEventArgs e)
    {
        var selectedDate = (DateTime.Parse(e.Start.ToShortDateString())).Day;
        frmEvent frmE = new frmEvent();
        frmE.SelectedDate = selectedDate;
        frmE.Show();
    }
}

只需像对待普通类一样对待表单,主要是因为它们就是它们,并且可以被这样对待,不要太想它。