Windows窗体与控件

学习下Window的窗体与控件,UI,个人IDE是VS2012,经过学习这些基本控件,若是之后要用到别的控件,就可以较快上手。web

Windows窗体

窗体是应用程序的基本单元,是很是重要的。它实质上是一块白板,经过添加控件能够建立用户界面,并经过代码来操做数据,填充这个白板。数据库

建立窗体

  • 启动VS2012
  • 文件->新建->项目
  • 选择Windows窗体应用程序,名称,路径本身填
    这里写图片描述
  • 接下来就能够看到窗体已经建好了
    上面的方法是在新建一个程序时加入的窗体,有的程序须要的不止一个窗体,若是须要多个窗体,操做是:选中项目->右键->添加->添加窗体
    这里写图片描述
    而后本身选择窗体的名称就行。

更改窗体属性

选中要修改的窗体,打开属性窗口,找到对应的项目,修改就能够了
这里写图片描述windows

Windows窗体控件

经常使用的控件,包括普通控件,对话框,菜单,工具栏,组件等。微软官方文档svg

控件的基本操做

在设计和修改时,要添加、对齐和定位控件。每种控件都有本身的属性集、方法和时间,以使控件适用于特定用途。工具

添加或者删除控件

用户界面设计阶段

视图->工具箱,打开工具箱,选择适当的选项卡,找到须要的控件
- 将所须要的控件拖动到窗体的空白处
- 双击所需控件添加事件
删除一个控件:选中该控件而后按Delete键布局

运行时添加删除控件控件

应用程序在开发过程当中的常见任务在窗体上的任何容器控件上添加控件或者移除控件(如Panel或者GroupBox控件,甚至窗体自身)。在运行时,这些控件维护了一个Controls集合,该集合记录在其中放置了哪些控件。
添加主要步骤:
- 建立要添加的控件实例;
- 设置控件的属性;
- 将控件添加到父控件的Controls集合。学习

private void button1_Click(object sender, EventArgs e)
{
    public Button bt = new Button();
    bt.Text = "新建的Button";
    this.Controls.Add(bt);
}

删除主要步骤
- 从事件中移除事件处理程序
- 使用Remove方法,从父控件的Controls集合中删除须要删除的控件
- 调用Dispose方法,释放该控件占用的资源this

private void button2_Click(object sender, EventArgs e)
{
   if (this.Controls.Contains(bt)) {
       this.Click -= new System.EventHandler(this.button1_Click);
       this.Controls.Remove(bt);
       bt.Dispose();
   }
}

定位控件

使用窗体设计器拖动或者指定Location属性值来进行定位
- 单击要定位的控件
- 在“属性”窗口中,输入Location属性值(用逗号分隔),以便在窗口内定位该控件spa

命令控件

Button

用户单击时,调用Click事件处理程序。能够将代码放入Click事件处理程序来执行所选的操做,按钮上的文本包含在Text属性中。操作系统

LinkLabel

经过这个控件能够向窗体中添加Web样式的连接。一切可使用Label的地方均可以使用LinkLabel,还能够将文本的一部分设置为指向某个文件,文件夹或者网页的连接。

NotifyIcon组件

NotifyIcon组件用于显示在后台运行的进程的图标,这些进程大部分时间不显示用户界面。经过单击任务栏状态通知区域的图标来访问杀毒软件或者音乐播放器就是具体的例子
其关键属性有两个,是Icon和Visible。Icon属性出如今状态区域的图标,为使图标出现,Visible必须设置为true

设置选项控件

复选框、单选按钮、等

CheckBox控件和RadioButton控件

CheckBox指示某个特定条件是处于打开状态仍是处于关闭状态。他经常使用为用户提供是/否或者真/假选项,能够成组使用复选框控件以显示多重选项用户能够从中选择一项或者多项。
复选框可使用简单数据绑定链接到数据库中的元素。多个复选框可使用GroupBox进行分组
RadioButton为用户提供有两个或者多个互斥选项组成的选项集。当用户选择某单选按钮时,同一组中的其余单选按钮不能同时选定

TrackBar控件

该控件用于大量信息中进行浏览,或者用于以可视的形式调整数字设置。其有两部分:滚动块和刻度线。
关键属性有:
- Vakue
- TickFrequency
- Minimun控件
- Maximum控件

列表选择控件

Windows窗体列表选择控件主要包括ListBox控件,CheckedBox控件和ComboBox控件。

ComboBox控件和ListBox控件

用于在下拉组合框中现实数据,默认状况下,其分两个部分,顶部是容许用户输入列表项的文本框;第二部分是一个列表框,现实一个项列表,用户能够从中选择一项。
用户经过控件的SelectedIndex属性返回一个整数值,该值与选择的列表项相对应。经过改变SelectedIndex能够改变选择项,未选择任何项,SelectedIndex将返回-1。SelectedItem和SelectedIndex相似,可是它返回选中项,通常状况为一个字符串。
增长删除项,使用Add,Insert,Clear,Remove等方法。
ListBox控件和Combo控件相似

CheckedListBox控件

在ListBox控件上增长了列表项旁边显示复选标记

TreeView控件

该控件能够为用户显示节点层次结构,就像Windows资源管理器同样,还能够展开和折叠。

编辑文本控件

  • TextBox控件
  • RichTextBox控件
  • MaskedTextBox控件

显示信息控件

  • Label
  • StatusStrip
  • ProgressBar

日期选择控件

  • DateTimePicker
  • MonthCalendar

图像控件

  • PictureBox
  • ImageList

容器组件

  • Panel
  • GroupBox 能够将多个控件放在一个分组里面
  • TabControl 显示多个选项卡
  • SplitContainer 由多个能够移动的拆分条分隔的两个面板
  • TableLayoutPanel控件

对话框控件

  • ColorDialog控件
  • FontDialog
  • OpenFileDialog
  • SaveFileDialog
  • FolderBrowserDialog
private void ColorDialog_Click(object sender, EventArgs e)
{
    ColorDialog cd = new ColorDialog();
    cd.ShowDialog();
    ColorDialog.BackColor = cd.Color;
}

private void FontDialog_Click(object sender, EventArgs e)
{
    FontDialog fd = new FontDialog();
    fd.ShowDialog();
    FontDialog.Font = fd.Font;
}

private void OpenFileDialog_Click(object sender, EventArgs e)
{
    OpenFileDialog ofd = new OpenFileDialog();
    ofd.ShowDialog();
}

private void SaveFileDialog_Click(object sender, EventArgs e)
{
    SaveFileDialog sfd = new SaveFileDialog();
    sfd.ShowDialog();
}

private void FolderBroswerDialogbtn_Click_1(object sender, EventArgs e)
{
    FolderBrowserDialog fbd = new FolderBrowserDialog();
    fbd.ShowDialog();
    FolderBroswerDialogbtn.Text = fbd.SelectedPath;
}

菜单和工具栏控件

这些控件在设计界面中都很直观,经过简单的观察就能够很好地使用

使用MenuStrip,能够
- 建立支持高级用户界面和布局的功能的易自定义的经常使用菜单,例如文本和图像排序和对其,拖放操做和访问菜单命令等
- 支持操做系统的典型外观和行为
- 对多有容器和包含的项进行事件的一致性处理,处理方式与其余控件的事件相同

ContextMenuStrip

ToolStrip

ToolStripContainer