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. python+Django+mysql环境搭建

    为什么我的毕业设计还要用到网站啊啊啊啊.什么鬼啊,又要做爱拍拍又要做网站???饶了我啊..我选择狗带.. 网站就用django做吧,毕竟之前做过一个电脑销售网站,希望能借鉴一下经验什么的,不要一切从头 ...

  2. PHP学习之分页类

    <?php $page = new Page(2, 40); var_dump($page->allUrl()); class Page { //每页显示多少条数据 protected $ ...

  3. Hexo博客skapp主题部署填坑指南

    相信大家都很喜欢 hexo skapp 的主题,由于作者采用结巴分词,加上需要依赖各种各样的环境 所以可能大家踩过很多坑,也许每个人踩得坑不一样,这里使用 Docker 容器 centos 来部署, ...

  4. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_16-页面静态化-模板管理-模板制作

    这是轮播图的原始文件 运行门户需要把 nginx启动起来 单独运行轮播图.把里面的css的引用都加上网址的url 这就是单独访问到的轮播图的效果 轮播图模板的地址: 阶段5 3.微服务项目[学成在线] ...

  5. 一百三十六:CMS系统之发布帖子后台逻辑

    模型 class PostModel(db.Model): __tablename__ = 'post' id = db.Column(db.Integer, primary_key=True, au ...

  6. SaaS领域如何分析收入增长?

    SaaS领域如何分析收入增长? 今天我们试着将其模式运用到收入增长上进行分析.这对常规收入的计算会极有帮助,例如企业级应用软件(SaaS)或消费者订阅业务. 列举某公司通过月度订阅获得营收为例,为了更 ...

  7. LeetCode_13. Roman to Integer

    13. Roman to Integer Easy Roman numerals are represented by seven different symbols: I, V, X, L, C,  ...

  8. 从字节跳动离职后,拿到探探、趣头条、爱奇艺、小红书、15家公司的 offer【转】

    前言 博主目前从事Android开发3年,前两年一直在抖音工作.我这篇文章并不是简单的描述一些面试中的题,或者总结一些Android的知识,而是想记录我整个的想法和准备的过程,以及一些心得体会,让大家 ...

  9. github pages + hexo 搭建 blog 遇到的问题

    一. ERROR Deployer not found: git $ hexo d ERROR Deployer not found: git npm install --save hexo-depl ...

  10. TensorFlow.训练_资料(有视频)

    ZC:自己训练 的文章 貌似 能度娘出来很多,得 自己弄过才知道哪些个是坑 哪些个好用...(在CSDN文章的右侧 也有列出很多相关的文章链接)(貌似 度娘的关键字是"TensorFlow ...