0
好吧,正如標題所說,我需要創建一個從commonDialog繼承的組件。我有一個已經創建和工作的表單,但我需要將它創建爲一個組件(如OpenFileDialog),以便在稍後的項目中使用(如「彈出窗口」)。窗體組件繼承CommonDialog
任何想法?
謝謝!
好吧,正如標題所說,我需要創建一個從commonDialog繼承的組件。我有一個已經創建和工作的表單,但我需要將它創建爲一個組件(如OpenFileDialog),以便在稍後的項目中使用(如「彈出窗口」)。窗體組件繼承CommonDialog
任何想法?
謝謝!
CommonDialog是一個非常具體的基類,它被設計爲充當Windows內置的對話框的公共基類。它不是您自己組件的適當基類。只需從Component中派生出來。
一個簡單的例子:
using System;
using System.ComponentModel;
using System.Windows.Forms;
class MyComponent : Component {
public bool ShowDialog() {
using (var dlg = new WindowsFormsApplication1.Form2()) {
if (dlg.ShowDialog() == DialogResult.OK) {
// Retrieve properties
//...
return true;
}
else return false;
}
}
// Add your own properties here
//...
}
感謝您的快速回復。但是,即使我的表單只是一個常規表單(我的意思是我們創建的項目),該代碼仍然有效?因爲我不認爲我的窗體將具有ShowDialog()屬性。 – Leonardo 2012-07-27 03:04:17
每個窗體都有ShowDialog()方法。當然,如果表單已經是你項目的一部分,你也可以使用你的表單而不將它包裝在一個Component中。使它成爲一個組件的唯一要點就是將它放在工具箱上。像OpenFormDialog一樣。 – 2012-07-27 03:40:49
確切地說,這就是要點,所以我可以在以後重用它!謝謝,我明天就試試看吧! – Leonardo 2012-07-27 03:50:12