我其實有兩個問題。當用戶單擊箭頭來更改月份時,將自動選擇給定月份的1.。是否有可能防止這種行爲,所以當用戶點擊實際日期時,第一次觸發date_change?如何在MonthCalendar的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();
}
}
這就好比在你腳下的切割分支。你應該調用一個委託來處理this.Close(); – Gabriel 2011-04-20 10:25:46
你的例外發生在哪裏?我想也許你想要做的是在你的表格上有一個事件發生在日期改變時。在主窗體中處理並關閉日曆窗體。 – Nick 2011-04-20 10:27:03
你們任何人都可以爲我做一個這樣做的例子嗎?我編輯了這篇文章的代碼,包括我自己的嘗試,但沒有奏效。 – Bildsoe 2011-04-20 10:35:15