问题背景

北大青鸟ASP.Net视频中,老师提到可以通过更改属性PageLayout的值,来实现页面布局由默认的FlowLayout(流式布局)而成为GridLayout(网格布局),即系统控件安排的‘有序’定位(用户不能随意定位),变成用户自定义定位(拖到哪里,就是哪里)。但是,在VS2012开发环境中,却没有找到,折腾了好久,偶然的机会才发现解决方法。

解决方法

方法一:VS2012,工具——选项——Windows窗体设计器,在该界面中,‘布局模式’由SnapToLine改成SnapToGrid。

方法二:VS2012,工具——选项——HTML设计器——CSS样式,在该界面中,选中‘对于使用工具箱、粘贴或拖放操作添加的控件,将定位方式改为绝对定位’前面。

VS2012默认的控件定位方式,是流式的即SnapToLine,按照线性对齐,也就是我们常说的流式布局,而通过以上两种方式,可以简单的实现VS2012开发环境控件布局方式的用户自定义化。

PageLayout在MSDN

查了一下MSDN中,对pageLayout属性的解释:

·GridLayout   绝对定位属性插入到添加的元素中并在移动的元素中更新。可以在整个“设计”视图表面上拖动元素。可以使用定位网格和“网格线对齐”。这就是我们常用的那种用户自定义定位方式,随便的使用鼠标拖动控件的位置。

·FlowLayout   元素不带绝对定位属性添加。Web浏览器按元素在页上出现的顺序从上到下排列元素。不能在“设计”视图表面上拖动元素或者使用定位网格,即只能按照系统的要求呈线性布局。

留个疑问:

相对而言,我更喜欢用户自定义布局,随便拖放控件,到哪里就是哪里,但是VS2012为什么默认为流式布局的格式?这样有什么好处么?还有一个疑问就是,这两种布局模式,分别在什么情况下使用更能体现各自的优越性?恳请指点~~~


vs2012布局问题的更多相关文章

  1. VS2012 中使用Emacs布局

    微软的反开源行为导致它不断的衰落,问题是还不反省. 下面这篇文章介绍了如何安装emacs布局的插件: http://marxistprogrammer.blog.163.com/blog/static ...

  2. 使用VS2012调试ReactOS源码

    目录 一 下载并安装VS2012 二 下载并安装WDK80 三 下载ReactOS0315源码 四 下载并安装RosBE211 五 用RosBE命令行编译ReactOS源码 六 用VS2012编译nt ...

  3. Connect教程系列--响应式布局(一)

    微软终于跨平台了,最近在第九频道(Event-Visual Studio)下面出来一系列关于vs2015的视频,介绍vs2015以及.NET5.0的新特性等,现针对其讲解的.NET和ASP.NET,进 ...

  4. VS2012报表(RDLC)系列应用之单据批量打印

    一.前言 最近做的项目需要单据批量打印的功能,优先想到用RDLC来实现.经过Visual Studio几个版本的发展后,RDLC愈发成熟,操作方式也变得简洁,相比vs2005的版本,有质的提升,不过仍 ...

  5. 我对c++对象内存布局的理解

    引言 结合网上的一些资料,通过自己的一番摸索,得出了一点个人见解.现在写下来,希望与各位同学共同探讨,共同进步. 以下所有代码均是在VS2012下测试. 一个普通的基类 1: #include < ...

  6. 开源布局控件 WeifenLuo.WinFormsUI.Docking.dll使用

    WeifenLuo.WinFormsUI.Docking是一个很强大的界面布局控件,可以保存自定义的布局为XML文件,可以加载XML配置文件.! 先看一下效果 使用说明: 1.新建一个WinForm程 ...

  7. VS2010升级VS2012必备(MVC4 WebPage2.0 Razor2.0资料汇集)

    刚把项目升级到2012,发现发生了很多变化,以下是最近看过的网站和资料汇集,供需要者参考. 本文在最近一个月可能会不断更新. Razor2.0 新特性介绍: 介绍1:http://vibrantcod ...

  8. VS2012 快捷键 VS Resharper 设置

    原文 http://www.cnblogs.com/skyangell/archive/2013/03/24/2979835.html 一直用Resharper插件,最近发现Ctrl+E,C快捷见被R ...

  9. VS2012 的MVC4实例

    原文链接:http://wenku.baidu.com/link?url=nkq-UZd-Ui83Nuoh66n4KqdwK4V_zzKqakmmG6VBgq2BfWlMiPhz1JXN9R3CWxN ...

随机推荐

  1. linux时间无法同步的解决方案

    问题描述: 在家里的ubuntu和windows上始终无法同步时间,也参考了很多资料还是不行.无意中的一次把笔记本拿到公司,发现可以同步时间,但是就觉得奇怪了.对比之后才发现是移动的网络没法连接ntp ...

  2. Map 对象

    1.创建一个Map对象 var map=new Map(); 2.size属性 //给map添加一些值 map.set("name","张三"); map.se ...

  3. Mysql 的函数

    函数 MySQL函数分为系统函数与自定义函数 系统函数: pow(m,n)        求m的n次方 rand()            随机获取0至1之间的小数 floor();          ...

  4. Raphael:JS矢量图形库

    Raphael:JS矢量图形库 2016-08-29 http://dmitrybaranovskiy.github.io/raphael/

  5. Python3 面向对象 高级编程

    正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性.  class Student(object): pass 然后,尝试 ...

  6. js实现浏览器兼容复制功能

    经常看到这样一种效果:就是单击一个按钮,就将某个区域内的内容,复制到了剪切板中.其实这个功能实现起来也不难,核心就是用到了window子对象clipboardData的一个方法:setData()语法 ...

  7. MySQL数据库远程访问的权限

    GRANT ALL PRIVILEGES ON *.* TO 'user'@'%'IDENTIFIED BY 'passwd' WITH GRANT OPTION;

  8. Android线程池的使用(未完)

    ExecutorService Executors public class Executors // 创建一个线程池,使用固定数量的线程操作共享无界队列. public static Executo ...

  9. leetcode 解题 String to Integer (atoi)(C&python)

    //此题是easy题,比较简单,主要困难在考虑全输入的各种情况://1.开始的时候有空格等空白字符//2.开头有加减号//3.溢出(第一次写就是没有考虑到这个情况) //C代码int myAtoi(c ...

  10. Codeforces Round #345 (Div. 1) B. Image Preview

    Vasya's telephone contains n photos. Photo number 1 is currently opened on the phone. It is allowed ...