Windows窗体
  1. 属性:

    1. name:对象的名称
    2. windowsState:初始化窗体的大小,Normal,Minimized,Maximized
    3. StartPosition:窗体起始位置,Manual(由Location属性决定),CenterScreen(居中显示),WindowsDefaultLocation(Windows默认位置),WindowsDefaultBounds(Windows默认位置,边界由Windows决定),CenterParent(在父窗口居中)
    4. Text: 窗体的标题,给用户看
    5. MaximizeBox,MinimizeBox: 是否有最大化最小化的按钮
    6. BackColor:背景颜色
    7. BackgroundImage: 背景图片
    8. BackgroundImageLayout: 背景图片的布局, None(居左显示)、Tile(图像重复,默认值)、Stretch(拉伸)、Center(居中)、Zoom(按比例放大到合适大小)
    9. Enabled:窗体是否可用
    10. Font: 设置窗体上字体
    11. ForeColor:设置窗体上文字颜色
    12. Icon:设置窗体图标
  2. 事件

    1. load:窗体加载事件
    2. mouseClick:鼠标单击事件
    3. mouseDoubleClick:鼠标双击事件
    4. mouseMove:鼠标移动事件
    5. keyDown:键盘按下事件
    6. keyUp:键盘释放事件
    7. FormClosing:窗体关闭时事件
    8. FormClosed:窗体关闭后事件
  3. 消息框(DialogResult MessageBox.Show(提示语,窗体名,选择项按钮MessageBoxButtons ,提示语图标MessageBoxIcon)

    1. 选项按钮:OK,OKCancel,AbortRetryIgnore(中止,重试,忽略),YesNoCancel,YesNo,RetryCancel(重试,取消)
      2.提示语图标:None,(Hand,Stop,Error)红x,Question问号,(Exclamation,Warning)警告,(Asterisk,Information)提示
      3.返回值:None,Ok,Cancel,Abort(中止),Retry(重试),Ignore(忽略),Yes,No
  4. Label和LinkLabel:标签控件

    • Name: 标签名,唯一标识
    • Text:内容
    • Font:文字样式
    • FontColor:文本颜色
    • BackColor:背景颜色
    • Image:背景图片
    • AutoSize:是否自动调整标签大小 true,false
    • Size:标签大小
    • Visible:标签是否可见
      5.TextBox:文本框
    • Text: 文本内容
    • MaxLength:文本框最多输入字符个数
    • WordWrap:自动换行
    • PasswordChar:密码字符替换
    • Multiline:多行文本文本框
    • ReadOnly:只读
    • Lines:文本行数
    • ScrollBars:滚动条
  5. Button:按钮控件

  6. RadioButton:单选按钮

  7. CheckBox:多选按钮

  8. CheckedListBox:多选集合

  9. ListBox:列表

    • MultiColumn:列表是否支持多列
    • Items:列表框的值
    • SelectedItems:选中项的集合
    • SelectedItem:选中项
    • SelectedIndex:选中项的索引
    • SelectionMode:列表选择模式
      • One:只能选择一项
      • MultiSimple :可选择多项
      • None: 不可选择
      • MultiExtended:可选择多项但要按下shift
    • 方法:

      • Add: 添加项
      • Insert: 指定位置添加项
      • Remove: 移除项

         /// <summary>
        /// 添加按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Button1_Click(object sender,EventArgs e) {
        if(textBox1.Text != null && textBox1.Text != "") {
        listBox1.Items.Add(textBox1.Text);
        textBox1.Text = "";
        } else {
        MessageBox.Show("不得为空");
        } }
        /// <summary>
        /// 查看选中
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Button2_Click(object sender,EventArgs e) {
        string s = "";
        for(int i = 0;i < listBox1.SelectedItems.Count;i++) {
        s = s + " " + listBox1.SelectedItems[i].ToString();
        }
        MessageBox.Show("选中项为" + s);
        } /// <summary>
        /// 删除
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Button3_Click(object sender,EventArgs e) {
        List<string> list = new List<string>();
        for(int i = 0;i < listBox1.SelectedItems.Count;i++) {
        list.Add(listBox1.SelectedItems[i].ToString());
        }
        foreach(string s in list) {
        listBox1.Items.Remove(s);
        }
        }
  10. ComboBox:组合框
    • DropDownStyle:外观 Simple(显示文本框和列表框,文本框可编辑),DropDown(只显示文本框,文本框可通过鼠标展开,可编辑),DropDownList(只显示文本框,文本框可通过鼠标展开,不可编辑)
    • Items: 获取或设置组合中的值
    • Text:获取或设置组合框中的文本
    • MaxDropDownItems: 获取或设置最多显示的项数
    • Stored: 是否排序
        /// <summary>
      /// 初始化
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      private void ComboBox_Load(object sender,EventArgs e) {
      comboBox1.Items.Add("计算机网络技术");
      comboBox1.Items.Add("软件工程");
      comboBox1.Items.Add("生物制药");
      comboBox1.Items.Add("会计");
      comboBox1.Items.Add("平面设计");
      }
      /// <summary>
      /// 添加按钮
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      private void Button1_Click(object sender,EventArgs e) {
      if (textBox1.Text == "") {
      MessageBox.Show("不得为空");
      return;
      }
      if (comboBox1.Items.Contains(textBox1.Text)) {
      MessageBox.Show("当前专业已存在");
      return;
      }
      comboBox1.Items.Add(textBox1.Text);
      textBox1.Text = "";
      }
      /// <summary>
      /// combox
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      private void ComboBox1_SelectedIndexChanged(object sender,EventArgs e) {
      DialogResult dialogResult = MessageBox.Show("当前所选专业为" + comboBox1.Text + "是否删除?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
      if (dialogResult == DialogResult.Yes) {
      comboBox1.Items.Remove(comboBox1.Text);
      MessageBox.Show("删除完成");
      }
      }
  11. PictureBox:图片控件

    • Image:获取或设置显示的图片
    • ImageLocation: 获取或设置图片路径
    • SizeMode: 设置图片显示大小和位置Normal(显示在左上角),Stretchimage(适应控件大小),AutoSize(控件大小适应图片大小),Centerimage(图片在图片控件居中),Zoom(图片自动缩放至符合图片控件的大小)
  12. Timer:定时器控件

        /// <summary>
    /// 当窗体最小化时
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void SizeChange(object sender,EventArgs e) {
    if(WindowState == FormWindowState.Minimized) {
    this.Hide();
    notifyIcon1.Visible = true;
    notifyIcon1.ShowBalloonTip(20,"demo","this is a demo",ToolTipIcon.Warning);
    }
    }
  13. DateTime日期时间控件

    • Short:短日期格式,例如2019/1/1
    • Long:长日期格式,例如2019年1月1日
    • Time:仅显示时间,例如22:00:00
    • Custom:用户自定义显示格式
        /// <summary>
      /// 定时器设置
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      private void DateTime_Load(object sender,EventArgs e) {
      dateTimePicker1.Format = DateTimePickerFormat.Time;
      timer1.Interval = 1000;
      timer1.Start();
      }
      /// <summary>
      /// 定时器触发
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      private void Timer1_Tick(object sender,EventArgs e) {
      dateTimePicker1.ResetText();
      }
  14. ContextMeanStrip :右击菜单控件

  15. MonthCalendar: 时间控件
  16. treeView
        private void TreeView_Load(object sender,EventArgs e) {
    treeView1.Nodes.Add("全部信息");
    }
    /// <summary>
    /// 添加下级
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void Button1_Click(object sender,EventArgs e) {
    if(treeView1.SelectedNode == null) {
    MessageBox.Show("请选择节点!!!!");
    } else if(textBox1.Text != "") {
    TreeNode treeNode = new TreeNode(textBox1.Text);
    treeView1.SelectedNode.Nodes.Add(treeNode);
    } else {
    MessageBox.Show("节点信息不得为空!");
    }
    }
    /// <summary>
    /// 添加同级
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void Button3_Click(object sender,EventArgs e) {
    if(treeView1.SelectedNode.Parent == null) {
    MessageBox.Show("请添加下级");
    return;
    }
    if(treeView1.SelectedNode == null) {
    MessageBox.Show("请选择节点!!!!");
    } else if(textBox1.Text != "") {
    TreeNode treeNode = new TreeNode(textBox1.Text);
    treeView1.SelectedNode.Parent.Nodes.Add(treeNode);
    treeView1.ExpandAll();
    } else {
    MessageBox.Show("节点信息不得为空!");
    }
    }
    /// <summary>
    /// 删除节点
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void Button2_Click(object sender,EventArgs e) {
    if(treeView1.SelectedNode == null) {
    MessageBox.Show("请选择节点!!!!");
    } else if(treeView1.SelectedNode.Nodes.Count == 0) {
    treeView1.SelectedNode.Remove();
    } else {
    MessageBox.Show("请先删除子节点");
    }
    }
  17. listView

     /// <summary>
    /// 初始化列表
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void ListView_Load(object sender,EventArgs e) {
    //标题
    ColumnHeader c1 = new ColumnHeader();
    c1.Width = 100;
    c1.Text = "姓名";
    ColumnHeader c2 = new ColumnHeader();
    c2.Width = 50;
    c2.Text = "年龄";
    ColumnHeader c3 = new ColumnHeader();
    c3.Width = 100;
    c3.Text = "手机号";
    //显示网格线
    listView1.GridLines = true;
    //显示全行
    listView1.FullRowSelect = true;
    //设置只能单选
    listView1.MultiSelect = false;
    //显示详细信息
    listView1.View = View.Details;
    //添加标题
    listView1.Columns.Add(c1);
    listView1.Columns.Add(c2);
    listView1.Columns.Add(c3);
    }
    /// <summary>
    /// 添加
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void Button1_Click(object sender,EventArgs e) {
    if(label1.Text.Equals("") && label2.Text.Equals("") && label3.Text.Equals("")) {
    ListViewItem item = new ListViewItem();
    //第一列的数据
    item.Text = textBox1.Text;
    //第二列的数据
    item.SubItems.Add(textBox2.Text);
    //第三列数据
    item.SubItems.Add(textBox3.Text);
    listView1.Items.Add(item);
    MessageBox.Show("添加成功");
    //添加后把文本输入框清空
    foreach(Control c in Controls) {
    if(c is TextBox) {
    c.Text = "";
    }
    }
    } else {
    MessageBox.Show("请填写内容");
    }
    }
    /// <summary>
    /// 删除
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void Button2_Click(object sender,EventArgs e) { List<ListViewItem> list = new List<ListViewItem>();
    for(int i = 0;i < listView1.SelectedItems.Count;i++) { list.Add(listView1.SelectedItems[i]);
    }
    foreach(ListViewItem item in list) { listView1.Items.Remove(item);
    }
    }
  18. notifyIcon: 托盘控件

        /// <summary>
    /// 当窗体最小化时
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void SizeChange(object sender,EventArgs e) {
    if(WindowState == FormWindowState.Minimized) {
    this.Hide();
    notifyIcon1.Visible = true;
    notifyIcon1.ShowBalloonTip(20,"demo","this is a demo",ToolTipIcon.Warning);
    }
    }
  19. toolTip:气泡控件
              /// <summary>
    /// 设置气泡
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void OpenAndSaveFile_Load(object sender,EventArgs e) {
    toolTip1.ToolTipTitle = "提示";
    toolTip1.ToolTipIcon = ToolTipIcon.Info;
    toolTip1.SetToolTip(this.button1,"打开文件");
    }
  20. MDI窗体: 窗体内窗体
  21. progressBar进度条控件
        /// <summary>
    /// 开始跑进度条
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void Button1_Click_1(object sender,EventArgs e) {
    progressBar1.Maximum = 1000;
    progressBar1.Value = i;
    label1.Show();
    while (progressBar1.Value!=progressBar1.Maximum){
    label1.Text = "进度:"+progressBar1.Value*100 / progressBar1.Maximum+"%";
    label1.Refresh();
    i++;
    progressBar1.Value = i;
    Thread.Sleep(100);
    }
  22. panel容器
        /// <summary>
    /// 控制panel容器
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void Button1_Click(object sender,EventArgs e) {
    //清空容器容器中的控件
    this.panel1.Controls.Clear();
    //new一个进度条控件
    progressBar progress = new progressBar();
    //不设置或出现System.ArgumentException:“无法将顶级控件添加到控件。”
    progress.TopLevel = false;
    //让进度条控件的大小以容器大小为主
    progress.Dock = DockStyle.Fill;
    //去除窗口边界
    progress.FormBorderStyle = FormBorderStyle.None;
    //设置最大化
    progress.WindowState = FormWindowState.Maximized;
    //隐藏工具栏
    progress.Visible = false;
    //容器大小设置为窗口大小
    panel1.Height = Screen.PrimaryScreen.Bounds.Size.Height;
    panel1.Width = Screen.PrimaryScreen.Bounds.Size.Width;
    this.panel1.Controls.Add(progress);
    progress.Show();
    }

    相关代码在GitHub地址

winForm入门学习的更多相关文章

  1. vue入门学习(基础篇)

    vue入门学习总结: vue的一个组件包括三部分:template.style.script. vue的数据在data中定义使用. 数据渲染指令:v-text.v-html.{{}}. 隐藏未编译的标 ...

  2. Hadoop入门学习笔记---part4

    紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...

  3. Hadoop入门学习笔记---part3

    2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...

  4. PyQt4入门学习笔记(三)

    # PyQt4入门学习笔记(三) PyQt4内的布局 布局方式是我们控制我们的GUI页面内各个控件的排放位置的.我们可以通过两种基本方式来控制: 1.绝对位置 2.layout类 绝对位置 这种方式要 ...

  5. PyQt4入门学习笔记(一)

    PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...

  6. Hadoop入门学习笔记---part2

    在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...

  7. Retrofit 入门学习

    Retrofit 入门学习官方RetrofitAPI 官方的一个例子 public interface GitHubService { @GET("users/{user}/repos&qu ...

  8. MyBatis入门学习教程-使用MyBatis对表执行CRUD操作

    上一篇MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对use ...

  9. opengl入门学习

    OpenGL入门学习 说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640 ...

随机推荐

  1. Linux设备驱动程序 之 vmalloc

    vmalloc()函数的工作方式类似于kmalloc(),只不过在前者分配的内存虚拟地址是连续的,而物理地址则无须连续:这也是用户空间分配函数的工作方式:由malloc()返回的页在进程的虚拟地址空间 ...

  2. js中两个感叹号的原理与用法分析

    在javascript中有时会看到有两个!!的用法 var foo; alert(!foo);//undifined情况下,一个感叹号返回的是true; alert(!goo);//null情况下,一 ...

  3. 模糊C均值聚类的公式推导

    j=1...n,N个样本 i=1...c,C聚类 一.优化函数 FCM算法的数学模型其实是一个条件极值问题: 把上面的条件极值问题转化为无条件的极值问题,这个在数学分析上经常用到的一种方法就是拉格朗日 ...

  4. kotlin之函数的范围和泛型函数

    kotlin 中函数可以定义为局部函数,成员函数以及扩展函数 局部函数:就是嵌套在函数内的函数 成员函数就是定义在类或者对象之内的函数 泛型函数就是函数可以带有泛型参数,可通过尖括号来指定

  5. Tornado实现监控数据实时展示

    前言: It has been a while since I last updated my blogs. 使用Tornado开发一个实时监控信息系统,其中包括 CUP.内存.网卡.磁盘使用率. 涉 ...

  6. @Autowired注解与@Resource注解的区别与用法

    Spring不但支持自己定义的@Autowired注解,还支持JSR-250规范定义的几个注解.如:@Resource.@PostConstruct及@PreDestroy 1. @Autowired ...

  7. epoll简介 与 UDP server的实现

    Abstractepoll是Linux内核为处理大批量句柄而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著减少程序在大量并发连接中只有少量活跃的情况下的系 ...

  8. 【ABAP系列】ABAP CL_ABAP_CONV_IN_CE

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]ABAP CL_ABAP_CON ...

  9. 使用 pyenv 可以在一个系统中安装多个python版本

    Installl related yum install readline readline-devel readline-static -y yum install openssl openssl- ...

  10. 【Cisco】实现同一个路由器一个端口用动态路由,另一个端口用静态路由

    一.先构建以下网络图: 准备三台路由器,三台交换机,三台主机,连接所有设备并配置端口IP和网关,DCE端口的时钟频率都设置为64000.