自GroupBox控件里面其他控件

所以我开始做我自己的向导界面,我不喜欢任何可用的解决方案。 我用一个分组框为向导的每一步,但由于每步(每分组框中)必须具有相同的结构和风格,我决定使用自定义控件。

现在我需要它具有这些元素的自定义分组框:

  • 一个FlowLayoutPanel中因此开发人员可以使用设计把期望的控制它。 (例如两个TextBox控件,使用户可以输入用户名和密码。)
  • 在FlowLayoutPanel的一个标签描述的步骤。
  • 一个按钮回去。
  • 另一个FlowLayoutPanel的用户可以把自定义按钮英寸

这里是一个预览:

自GroupBox控件里面其他控件

问题1

当我创建一个新的用户控件,并使其继承组框,我不能让一个分组框,我可以把它和位置的东西。 我所有的设计师看到的是这样的信息:

自GroupBox控件里面其他控件

问题#2

既然我不能让它继承分组框中像我想它,我试图通过把一组框自定义用户控件这样做。 (我不想这样。我只是做这个,所以我可以提供一些屏幕截图。)我没有在那之后,我不得不EnableDesignMode对FlowLayoutPanels因此开发人员可以通过使用设计在其中添加控件。 问题是,他们也成为了移动和可调整大小的(我不希望这样。他们是正确固定,他们不应该被移动,也不调整。),当您尝试移动他们,你得到“对象未设置为实例一个东西。” 这是丑陋使它:

自GroupBox控件里面其他控件

问题3

我想在主FlowLayoutPanel的元素为中心。 要做到这一点,我不得不把控制(说明标签),并调整为FlowLayoutPanel中的宽度,以便它后控制将居中。 (凌乱的解决方法,如果你问我,否则与TableLayoutPanel中看起来容易,但它们的细胞只能容纳一个元素。您可以添加一个面板,使电池存储更多的内容,但这样你就不能定心)。问题是,我必须设置锚定为无,我想补充每个控制。 我可以挂钩的东西(如OnDesignerControlAdded ???),自动设置添加控件的锚为无?

自GroupBox控件里面其他控件

所有的答案都将帮助我建立在GitHub上,并搭载了很多其他的开源项目开源项目魔术师。 在此先感谢您的所有努力。

--------------解决方案-------------

对于问题#1快速回答:

设计你的窗体或用户控件(没关系)在组合框中(GroupBox1)。

去的InitializeComponent()在designer.cs文件,并复制相关组框和它的子控件的所有代码。

一个新的自定义控件称为CustomGroupBox添加到项目中。

将其更改为从分组框中继承:

public partial class CustomGroupBox : GroupBox

所有复制的代码粘贴到CustomGroupBox的构造(或到一个新的方法,你的InitializeComponent(后,从构造函数中调用),如果你想成为纯品)。

删除所有出现的this.从粘贴代码。 替换出现的所有GroupBox1this

对于任何子控件想要开发能够访问,添加一个公共财产该控件。

例如

public FlowLayoutPanel FLP
{
get { return flowLayoutPanel1; }
}

当然,添加CustomDesigner

public class CustomGroupBoxDesigner : ControlDesigner
{
public override void Initialize(IComponent component)
{
base.Initialize(component);
var c = component as CustomGroupBox;
EnableDesignMode(c.FLP, "FLP");
}
}

并应用属性

[Designer(typeof(CustomGroupBoxDesigner))]
public partial class CustomGroupBox : GroupBox

这就是我有时间,但现在还是在未来一两天,如果您需要任何更多的信息,我会尝试回到这个和阐述。

分类:C# 时间:2012-01-04 人气:277
分享到:

相关文章

  • 如何禁用或控制Visual Studio 2010中选项卡组? 2012-05-25

    我似乎不小心在Visual Studio 2010的选项卡组,这意味着有些文件我打开出现在一个新的垂直选项卡组. 我怎样才能阻止这种情况的发生? --------------解决方案------------- 如果你创建了两个组,让两个文档并排打开,你可以只需将标签从一个组到另一个(或使用该标签的右键菜单). 当最后一个标签关闭或移动到另一组整组将关闭.

  • 可以的SharePoint应用程序在Visual Studio 2010中独立开发框进行开发? 2012-04-18

    可以Sharepoint的应用程序在Visual Studio 2010中开发框可以只开发还是在开发框需要连接到SharePoint服务器? 可在SharePoint服务器是一个独立的机器(两台机器之间没有域控制器)? --------------解决方案------------- 为SharePoint开发的最佳做法是使用包含SharePoint安装本身(而你正在使用的门户副本)的虚拟服务器,因为假设你是直接针对SP API编程,你将需要执行你的包含SharePoint安装本身在机器上的代码.

  • 如何设置在Visual Studio 2010中的WinForms项目的形式开始 2014-02-20

    有谁知道如何安装在Visual Studio 2010中的WinForms项目的起始形式? 我已经骑去项目属性,并更改启动对象,但在dowpdownlist唯一可用的选项是"(无)"和"ProjectName.Program.cs". 在"Program.cs的"是我的默认代码文件. 请帮帮我. (IM工作在C#) --------------解决方案------------- 在你的Program.cs,有像行: Application.Run

  • Visual Studio 2008中VS Visual Studio 2010中的框架3.5 2012-02-04

    我使用Visual Studio 2008发布以来,但我从来没有使用Visual Studio 2010.基本上我想知道在哪里VS 2010是唯一的Visual Studio的其他版本,或者它有一些特殊的功能. 我只在.NET Framework 3.5版4.0不工作 --------------解决方案------------- 你可以开发/针对您的应用程序与Visual Studio中的3.5框架. 当然,Visual Studio 2010中提供了更好的开发体验. 这里是那些我想强调的理由

  • 应在Visual Studio 2010中一个SL / XNA的解决方案不同的项目中去么? 2012-02-05

    在Visual Studio 2010中我创建了一个全新的Windows Phone Silverlight和XNA应用. 它创造了该解决方案包含3个项目: 我的项目 myProjectLib myProjectLibContent 我能理解内容,如图片和纹理,应该在myProjectLibContent,但对于myProjectLib,我应该摆在那里,而不是在myProject的文件夹中? --------------解决方案------------- 该项目建立了这样的原因很简单,Studi

  • 注册在Visual Studio 2010中自定义用户界面编辑器自定义文件类型 2012-02-07

    我发现所谓的LearnVSXNow旧文章及部分#30 -在Visual Studio中的自定义编辑器. 有示例项目的博客项编辑器 ,显示如何使用此文件类型的扩展名(.blit)此示例使用项目VSXtra,这是为 Visual Studio 2008编写的定制UI编辑器分配的自定义文件类型. 有人能指出我的一些教程,如何做,什么该怎么办了Visual Studio 2010中的一样吗? 我的目标是注册自定义文件类型的扩展名(例如* .myext1)的Visual Studio 2010中,并指定自

  • 是否有任何理由要切换到Visual Studio 2010中的Windows窗体开发? 2012-03-28

    我找不到任何新功能或改进的Windows窗体在Visual Studio 2010中我失去了一些东西? 我想有新的功能,C#和.NET的一般其他地区. 具体到GUI开发部分的任何原因? --------------解决方案------------- 我以为PEX正在增加. 我认为这是有价值的:Pex的教程 尽管这不是针对GUI开发的IntelliTrace足够的理由让我去2010:http://msdn.microsoft.com/en-us/library/dd264915(VS.100).a

  • Visual Studio 2010中 - 半透明浮动窗口 2012-06-01

    是否有可能使浮动窗口在Visual Studio 2010中的半透明? 我想是能够浮动编辑器窗口,并减少它的阿尔法水平. 难道这功能与修饰股票编辑器窗口的延伸产生的? 如果不延期,有没有像样的第三方应用程序,这将能够在Visual Studio 2010中修改特定的子窗口的属性? --------------解决方案------------- 主要的问题是,它依赖于工具窗口上,因为Visual Studio不会强制要求太多有关该工具的窗口,实际上是呈现. 如果工具窗口有一个HNWD一起玩,你可以

  • Visual Studio 2010中UnresolvedAssemblyException:类型宇宙无法解决总成:log4net的 2012-06-12

    最近,我开始遇到在Visual Studio 2010 WPF设计似乎例外,由于log4net的. 如果我刚刚建立我的项目,XAML文件将在设计中正确显示. 然后,一旦我开始点击控件的XAML内跳转,此异常迅速被抛出: System.Reflection.Adds.UnresolvedAssemblyException Type universe cannot resolve assembly: log4net, Version=1.2.10.0, Culture=neutral, Public

  • 不能在Visual Studio 2010中安装项目中添加自定义操作 2012-07-27

    我转换工作项目从Visual Studio 2008中VS2010. C ++的解决方案建立一个可执行文件和3个DLL和一个Windows安装程序项目. 转换为VS2010后,我收到生成错误"无法生成自定义操作命名从项目输出组"主要输出'从XXXX(Active)的主输出",因为项目输出组没有一个密钥文件." 我删除并重新添加的输出组,然后试图添加自定义操作. 可执行输出没有被列为自定义操作的候选人. 当我选择了可​​执行"主输出"的属性,即&q

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.451 (s). 10 q(s)