2010-04-01 107 views
0

這個問題實際上很自我解釋,但我會進一步澄清它。我正在構建一個簡單的應用程序來顯示5種不同類型[文件]的加載[文件]。因此,所有這5種形式都將具有類似的GUI元素,例如列表框和帶有小文本框/標籤的加載按鈕,以顯示[文件]信息的摘要。在託管C++中是繼承的窗體和/或繼承的控件可能

我希望的效果就像visual studio的C#模板的繼承用戶控件或繼承形式。我已經大量使用了這個概念來尋找一個C++ visual studio模板,但我找不到它。

單詞[文件]位於括號內,因爲打開的文件對話不會成爲訣竅,因爲要選擇表單的文件列表來自SQL服務器。

非常感謝!

爲了進一步說明我的願望:

Class A : public System::Windows::Forms::Form 
{ 
    //normal windows forms generated code here and your stuff 
} 
Class B : public A 
{ 
    //You cannot edit this content with designer as designer denies you that chance 
} 

所以我想如果我可以使用設計器來編輯過這個類。我因子評分,如果我可以讓設計人員無法讀取類聲明,而不是看到這樣的事情

#if designer 
Class B : public System::Windows::Forms::Form 
#else 
Class B : public A 
#endif 
{ 

} 

我在尋找的東西要做到這一點,我既可以使用設計的繼承形式和基本形式。這是否可能?

回答

0

是的,沒問題。與任何其他託管語言一樣,C++/CLI支持繼承。缺少的是點擊式IDE支持,您必須鍵入。將基礎表單添加到您的項目中,更改派生的表單聲明。例如:

#pragma once 
#include "BaseForm.h" 
... 
public ref class Form1 : public BaseForm   // <== NOTE: new base class 
{ 
    // etc... 
} 
+0

Thakns爲答案。是否有可能在Visual Studio中的繼承形式或控件上使用設計器工具? – 2010-04-02 05:58:57

+0

已經4個小時了,我想你已經知道答案是肯定的。 – 2010-04-02 10:17:10

+0

好吧,它顯然是的,但你不能使用設計器,當你從你自己的ref類繼承甚至艱難它從系統:: Windows :: Forms :: Form繼承以更好地解釋問題我會在問題 – 2010-04-02 10:38:00

0

看起來不可能在設計師的繼承形式和控件上使用。 C++/CLI的設計器不支持/處理繼承的窗體和控件。無法找到此類流程的模板。我將標記先前的答案,因爲它也正確地解決了這個問題,並回答了我的問題的重要部分。唉,這些表格不會有設計師支持。