2010-04-01 77 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的设计器不支持/处理继承的窗体和控件。无法找到此类流程的模板。我将标记先前的答案,因为它也正确地解决了这个问题,并回答了我的问题的重要部分。唉,这些表格不会有设计师支持。