実際に2つの質問があります。ユーザーが矢印をクリックして月を変更すると、指定された月の1.が自動的に選択されます。この動作を防ぐことは可能ですか?ユーザーが実際の日付をクリックすると、date_changedが最初に起動しますか?
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
{
this.Close();
}
}
MonthCalendarを別の形式で配置しました。ボタンをクリックするとこのフォームが開き、ユーザーは日付を選択できます。date_changedイベントでフォームを閉じたいので、this.Close()を実行しましたが、これによりアプリケーションがクラッシュし、ObjectDisposedExceptionが発生します。
破棄されたオブジェクトにアクセスできません。オブジェクト名:'MonthCalendar'
フォームを閉じるにはどうすればよいですか?
編集:
public partial class Form1 : Form
{
Form2 frm2;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
frm2 = new Form2();
frm2.theForm = this;
frm2.Show();
}
public void closeAform()
{
frm2.Close();
}
}
public partial class Form2 : Form
{
public Form1 theForm { get; set; }
public Form2()
{
InitializeComponent();
}
private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
{
theForm.closeAform();
}
}