Visual Studio的隐藏功能赢得了设计师的青睐

Cod*_*eld 19 windows-forms-designer visual-studio winforms

视觉工作室最受喜爱和讨厌的人之一必须是表单设计师.

创建简单的表单/用户控件布局通常是轻而易举的.设置属性和添加事件很容易.

设置工具箱以使用您自己的控件可能会有点困难,让ToolBoxIcons显示可能会很痛苦.通过可视继承使用第三方组件可以抛出设计者.在设计上使用多重继承可能非常困难.

那么你最喜欢的"隐藏"和/或明显的视觉工作室设计师功能是什么.

小智 24

  • 按住CTRL并拖动控件以复制它.

注意:请注意,如果您的控件具有由设计器创建的事件处理程序,它会将您新创建的控件与事件处理程序以及旧控件相关联.

  • 使用键盘快捷键F7从设计器视图转到代码视图,使用Shift-F7从代码视图转到设计器视图.我经常使用它

  • "文档大纲"窗口对于重型设计人员使用至关重要.这允许您重新排序轮廓中的控件以将它们放在前面或发送回来.当您使用对接控件时,它尤其有用.您还可以将子控件移动到另一个父控件,或将其从容器控件中取出,或将父控件移动到容器中等...

View -> Other Windows -> Document Outline

  • "布局"工具栏非常适合用于打造简洁明了的用户界面.

View -> Toolbars -> Layout

  • Shift F7在代码视图和设计器视图之间切换回来. (5认同)
  • Document Outline 正是我正在寻找的内容,但在 Googlewebz 上的其他任何地方都找不到。 (2认同)

Ela*_*lan 8

当WinForms项目设计器在窗体或用户控件上打开并且您具有嵌套的子控件时,可以通过按Esc键将焦点从当前聚焦的子控件移动到其父控件.再次按Esc键可将焦点移至其父级,依此类推,直至最终到达顶部.


Cod*_*eld 5

您可以将自己的对齐线添加到UserControls。

下面的类称为CenterSquare,并添加了一个Designer,它CenterSquareSnapLines提供了控件内的对齐线列表。如果您拥有自己的控件,这些控件会变得更小,那么仅是它们的边框即可,您现在可以添加自己的对齐线。

public class CenterSquareSnapLines : ControlDesigner
{

    public override System.Collections.IList SnapLines
    {
        get
        {
            ArrayList snapLines = base.SnapLines as ArrayList;
            CenterSquare c = this.Control as CenterSquare;
            if (c != null)
            {
                snapLines.Add(new SnapLine(SnapLineType.Left, c.BorderDistance));
                snapLines.Add(new SnapLine(SnapLineType.Right, c.Height - c.BorderDistance));
                snapLines.Add(new SnapLine(SnapLineType.Top, c.BorderDistance));
                snapLines.Add(new SnapLine(SnapLineType.Bottom, c.Width - c.BorderDistance));
                snapLines.Add(new SnapLine(SnapLineType.Top, 5));
            }
            else
            {
                //Debug message here!
            }
            return snapLines;
        }
    }

}

[Designer(typeof(CenterSquareSnapLines))]
public partial class CenterSquare : UserControl
{
 //implementation goes here
}
Run Code Online (Sandbox Code Playgroud)


Cod*_*eld 5

您知道您可以实际调试设计器吗?

您可以启动一个解决方案两次,然后使用“附加处理”来调试运行设计器控件的devenv环境。这对于调试“奇怪的”设计器问题特别有用,否则它会给我们很少的信息。

我用它来确定设计师的问题,以解决一些远程启动的问题,但这种工作无法触发未处理的异常并破坏设计师。我在desigerview上看到的只是一些Visual Studio内部帮助程序类崩溃了。