會因為一些初始操作而產生exception, 像使用外部資源(資料庫連線)等,
這些操作其實在design模式並不需要,
那要如何辨斷Form/UserControl是在Design模式下, 進而忽略這些操作呢?
可以使用Form/UserControl的屬性, DesignMode.
DesignMode在使用上有限制, 它在constructor內無效(always return false),
於是我們將一些design模式下不需要的操作移到load handler裡,
當它是design模式就直接return, 忽略掉這些操作:
public Form1()
{
InitializeComponent();
// Load handler
this.Load += new EventHandler(Form1_Load);
}
void Form1_Load(object sender, EventArgs e)
{
if (this.DesignMode) // 如果是design模式, 直接return.
return;
// Design模式下不需要的操作, eg: 資料庫連線
}
沒有留言:
張貼留言