01.菜单栏(MenuStrip)

设置快捷键方式:

方式一:1.设置菜单项的Text属性为(打开(&F)),

首先必须按住alt+主菜单快捷键进入到对应的主菜单,

然后直接按F就可以打开子窗体。

方式二:通过菜单项的ShorCartKeys属性设置。

创建对应的组合键,可以在主界面直接按对应的

字母键就可以打开子窗体

分割线的画法:

01.插入分割线

02.输入减号(-)

02.工具栏(ToolStrip)

01.给工具栏项目设置图片,首先图片大小由整个ToolStrip来控制,

设置    ImageScalingSize  值为图片本身像素值。

02.添加每一项目的类型为DropDownButton

03.设置Text属性为显示的文本

04.设置DisplayStyle属性为ImageAndText,让图片和文本同时显示

05.TextImageRelation图像与文本的相对位置

03. application.Exit()和this.close()

Application.Exit();//退出整个应用程序

this.Close();//关闭当前窗体

04.常见控件的使用

RadioButton

DateTimerPicker

GroupBox

Panel

06.Anchor和Dock属性

Anchor:让控件和窗体边缘的位置保持固定的像素值。

Dock:使控件停靠在窗体的某个部位(Top,Bottom,Left,RIght),或者填充整个窗体(Fill)

07.设置MDI窗体

001.将Main窗体的IsMdiContainer属性设置为true

002.在子窗体show()之前加上如下代码:

   frm.MdiParent=this;//this代表当前窗体

面向对象提升:只要能通过点鼠标设置属性的地方,都可以通过代码实现,但是代码能实现的未必都能通过点鼠标实现!

08.关于ReadOnly的那些事儿

如果对TextBox设置了ReadOnly属性,那么设置字体前景色是不起作用的,必须设置BackColor为Control外的任意颜色即可。

09.如何将数据库中Grade表中的数据绑定到下拉框中

解析:界面上年级下拉框中显示的是年级名称,而学生表中保存的是年级编号,怎么搞??

 解析:public int GetIdByName(string gradename)

     {

         string sql="select gradeid from grade where gradeName='"+gradename+"'";

        }

第2章 如何构建布局良好的Windows程序的更多相关文章

  1. 第二章 构建布局良好的windows程序

    工具箱→菜单和工具栏 菜单栏 MenuStrip的类型 MenuItem:菜单项 TextBox:文本框 ComboBoX:组合框 Separato:分割线 前面都有ToolStrip做前缀 Appl ...

  2. Windows程序控件升级==>>构建布局良好的Windows程序

    01.菜单栏(MenuStrip) 01.看看这就是menuStrip的魅力: 02.除了一些常用的属性(name.text..)外还有: 03.有人会问:上图的快捷键: 方法: 方式一:1.设置菜单 ...

  3. 构建布局良好的Windows程序

    工具箱→菜单和工具栏菜单栏MenuStrip的类型MenuItem:菜单项TextBox:文本框ComboBoX:组合框Separato:分割线前面都有ToolStrip做前缀 Applaction. ...

  4. 第三章—Windows程序

    这一章我都不知道该如何写了,呵呵~~ 毕竟,Win32是一个非常深奥的系统,目前还容不得我这种 小辈在这儿说三道四,不过,我既然是要写给那些入门阶段的朋友们看的,又不是写给那些搞程序设计老鸟看的,所以 ...

  5. 第三部分:Android 应用程序接口指南---第二节:UI---第一章 用户界面和布局

    第1章 用户界面和布局 应用程序的用户界面就是用户能看到并可以与它交互的任何东西.Android提供多种预置的UI组件,如结构化布局对象和允许你为应用程序创建图形用户界面的UI控件.Android也会 ...

  6. 【全面解禁!真正的Expression Blend实战开发技巧】十一章 全面解析布局(Grid & Canvas &StackPanel &Wrappanel)

    原文:[全面解禁!真正的Expression Blend实战开发技巧]十一章 全面解析布局(Grid & Canvas &StackPanel &Wrappanel) 写这篇文 ...

  7. Gradle 1.12 翻译——第十三章 编写构建脚本

    有关其它已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或訪问:http://gradledoc.qiniudn.com ...

  8. Laxcus大数据管理系统2.0(7)- 第五章 数据构建

    第五章 数据构建 在数据处理过程,我们经常会遇到这样的情况:大多数时候,用户最初输入的数据会含有大量无意义的.杂乱的信息,需要经过提炼.收集.汇总等一系列手段,才能产生有意义和用户可识别的数据内容:当 ...

  9. python 教程 第十五章、 结构布局

    第十五章. 结构布局 #!/usr/bin/env python #(1)起始行 "this is a module" #(2)模块文档 import sys #(3)模块导入 d ...

随机推荐

  1. 自引用指针this

    C++为成员函数提供了一个名字为this的指针,这个指针称为自引用指针,每当创建一个对象时,系统就把this指针初始化为指向该对象,即this指针的值是当前调用成员函数的对象的起始地址.每当调用一个成 ...

  2. KendoUI系列:Grid

    1.基本使用 <div id="grid"></div> <link href="@Url.Content("~/Content/ ...

  3. Myeclipse 操作数据库

    步骤1:通过MyEclipse中的window->show View->other 调出.DB浏览器,和 SQL Results 步骤2. 可以右键单击空白处,选择new,创建一个新的DB ...

  4. Packet for query is too large(1767212 > 1048576)mysql在存储图片时提示图片过大

    原网址:http://blog.csdn.net/bigbird2012/article/details/6304417 错误现象:Packet for query is too large(1767 ...

  5. Oracle RMAN 备份一例

    Oracle RMAN备份一例: Solaris 10 + Oracle 11.2.0.3 Shell:csh,安装有bash,脚本调用bash 备份策略:周日0级备份,周一~周六1级备份,每6小时备 ...

  6. 响应式网页中,如何只用CSS实现div的高和宽保持固定比例

    引言: 如果div里是<img>,原生就支持. .item img {     float: left;     margin:5%;     width: 20%; } >> ...

  7. [C] 关于表达式求值

    结论是:在一个表达式中,如果两个相邻操作符的执行顺序由它们的优先级决定,如果它们的优先级相同,它们的执行顺序由它们的结合性决定.若出现前述规则描述之外的情形,编译器可以自由决定求值的顺序(只要不违反逗 ...

  8. [C] C++对C的部分扩充

    C语言只允许变量在程序(或函数)开始处定义,而C++允许变量在程序的任何位置定义. C语言中没有定义作用域限定运算符. C语言中没有布尔类型. C++中关于枚举类型和结构类型的定义更加简洁. C++新 ...

  9. 优化数据库的方法及SQL语句优化的原则

    优化数据库的方法: 1.关键字段建立索引. 2.使用存储过程,它使SQL变得更加灵活和高效. 3.备份数据库和清除垃圾数据. 4.SQL语句语法的优化.(可以用Sybase的SQL Expert,可惜 ...

  10. 网络编程之socket新解

    由于工作并不是很忙,闲暇之余就读了下tomcat的源代码.我是从事java服务器开发工作的,大体的一些服务器线程模型我都是了解的.其大部分都是由一个线程调用监听端口等待客户端的链接,建立连接后再交由其 ...