Visual studio 2008 visualc&x2B+;2008 Express,将离散GUI元素封装到单独的文件中

Visual studio 2008 visualc&x2B+;2008 Express,将离散GUI元素封装到单独的文件中,visual-studio-2008,visual-c++,components,visual-studio-express,Visual Studio 2008,Visual C++,Components,Visual Studio Express,我想使用VC9和visualstudio2008express制作我自己的组件。目前我的顶级表单类包含了太多我喜欢的代码,我想增加它们 我可以安全地到达Project->Add…->Component\u类 接下来,我命名组件并使用文本框、提交按钮和面板填充组件,以表示评论可以提交到的不同渠道(所有、团队、对手)的选项卡,下面是一个富文本框,我将根据选择的选项卡进行更新 唯一的麻烦是我打破了这条规则 #pragma region Windows Form Designer generated c

我想使用VC9和visualstudio2008express制作我自己的组件。目前我的顶级表单类包含了太多我喜欢的代码,我想增加它们

我可以安全地到达Project->Add…->Component\u类

接下来,我命名组件并使用文本框、提交按钮和面板填充组件,以表示评论可以提交到的不同渠道(所有、团队、对手)的选项卡,下面是一个富文本框,我将根据选择的选项卡进行更新

唯一的麻烦是我打破了这条规则

#pragma region Windows Form Designer generated code
    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
#pragma区域Windows窗体设计器生成的代码
/// 
///设计器支持所需的方法-不修改
///此方法的内容与代码编辑器一起使用。
/// 
当我为我的子组件设置位置时

我无法将这个新组件放入我的工具箱

使用VC++2008 Express可以吗

_编辑

所以我遵循了这个建议,在工具箱里找到了这个组件

现在的问题是,它只是“不可见的”,因为图像列表位于表单设计区域之外的自己的栏中:(

将尝试扩展一个比

系统::组件模型::组件

_编辑


我自己已经回答了这个问题,并整理了标题和标签以备将来参考。

下面的文章是关于在Visual Studio和C#中创建自定义控件的,我希望它对您有用。看起来它可能在旧版本的VS/C#中,但Windows窗体的内容还是很旧的

您可能想考虑编写WPF应用程序作为Windows窗体的替代品——这是一个为Windows创建桌面应用程序的最新技术,一些技术与Silverlight等其他微软工具共享。 如果您感兴趣,这里有一个关于如何在WPF中构建自定义控件的教程:


更新:看看VS2008Express的功能——你不能制作WPF自定义控件,很明显,如果你局限于那个环境,那么你就必须使用Windows窗体。教程在上面。

如果有人感兴趣,我发现了如何在VC++2008中创建自定义组件

您不使用表单设计器,但必须以编程方式进行。好吧,我从我第一次使用表单设计器创建的原型模型中获取了大部分代码

此信息的来源是UserControl类的SDK文档

通过将上面链接中的示例代码添加到我的项目中,我可以使用表单设计器通过选择

“工具>选项>Windows窗体设计器>常规: 自动ToolboxPopulate“

我现在已经将所有GUI代码卸载到它们自己的类中,通常我会添加以下内容

#using <System.dll>
#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>

using namespace System;
using namespace System::Windows::Forms;
using namespace System::Drawing;
using namespace System::ComponentModel;
#使用
#使用
#使用
使用名称空间系统;
使用命名空间System::Windows::Forms;
使用名称空间系统::绘图;
使用名称空间System::ComponentModel;
名称空间myProjNS{
之前,继续声明一个扩展了其他表单组件的类


我现在很欣赏上述答案的优点,但是它们都要求C++,在我问这个问题时,我的有限系统是不可用的。< Windows >窗体是指WINFALSE,它是.NET的东西。所以这不是C++。@ NIOL C++ +CLI是.NET THINGICONL——可以在托管C++中编写Windows窗体,所以你不是完全正确的I。这个声明-不知道谁会打扰。说,我认为你是对的,这是一个C++问题。管理C++和C++ +CLI不是C++。它们是语言的扩展,但是它们不应该与语言本身混淆或混淆。我还没有读C++0X规范,所以很难知道MS已经走了多远。NET,我在和很多本地类合作,将来我想把它翻译成Android。我想,这里的WPF和FS讨论的方式是不成熟的,WPF是不成熟的,使用VS2008快递是更不成熟的。VS2010不适合C++自动完成。HMM,链接不是专门针对Express的,也不是C++ C++的。你的应用程序,你的意见是重要的-你必须生活在写作和支持它。对于它是什么,WPF不打我不成熟。我不理解关于C++自动完成的评论。C++在VS2010中没有代码/自动完成!因此只有C++ 2008 EDN。我想我已经试用了C*WPF VS2010迷宫教程,也许我的分类。C XP主题扔了它,但它看起来可怕。我可以生活没有组件,只是移动所有非GUI逻辑关闭窗体可能……我需要C++更多,所以真的没有解决方案,而不是咧嘴笑着忍受它。