当前位置: 首页 > article >正文

Winform—常用控件、属性、事件详情介绍

Winform—常用控件、属性、事件详情介绍

Winform控件是可再用的组件,封装了用户界面功能,并且可以用于客户端 Windows 应用程序。Windows 窗体不仅提供了许多现成控件,还提供了自行开发控件的基础结构。可以组合现有控件、扩展现有控件或创作自己的自定义控件。

本篇就为大家分享一下Winform中常用的控件和属性以及事件的详细介绍,非常适合初学者,和复习者。

本篇包含Winform三十一个控件以及属性和事件的介绍。


目录

Winform—常用控件、属性、事件详情介绍

Winform—常用控件

1.Form 窗体组件

常用属性 :

2.lable 用于显示文字

常用属性

3.textBox 输入框

常用的属性

4.Button 按钮

常用属性

5. panel 面板

常用属性

6. checkBox 多选框

常用的属性

7.RadioButton 单选框

常用属性

8.pictureBox 显示图片

常用属性

9.TaBControl 选项卡

常用属性

10.ComboBox 下拉菜单

常用属性

通过代码添加下拉内容

如果需要添加多个元素 可以放进数组进行遍历

11.DateTimePicker 选择日期和时间

常用属性

自定义时间格式

具体设置日期显示方式

12.DataGridView 表格

常用属性

用法

添加

查询

删除

绘制表格

绘制表格行号

给单元格添加Click事件

表格的数据源的几种的形式的区别

13. richTextBox 富文本

用法

14. timer 定时器

常用属性

使用

15. progressBar 进度条

常用属性

16. SplitContainer 分割容器

常用属性

17.MonthCalendar 日历

18. MenuStrip 导航菜单

常用属性

设置快捷方式

19. contexMenuStrip 右键菜单

使用方法

20.statusStrip 状态菜单栏

常用属性:

21. GroupBox 在组件周围显示一个带有标题的框架

22. NumericUpDown 显示用户通过单击空间上的上下按钮可以增加和减少的单个数值

23. maskedTextBox1 输入框(用于区分输入格式)

24. FlowLayoupanel 容器 它与panel的区别是它可以把子组件进行自动排列

25. imagelist组件 是一个存储图片的集合

常用属性

手搓属性

26.listview 以五种不同视图中的一种显示项的集合

26. listbox 使用于显示一组选项,并且可以使用用户进行选择

使用方法

27. trackbar组件 用于调整音量

28. axWindowsMediaPlayer1组件 音乐播放器

播放音乐

歌曲进度

播放音量

播放状态

暂停播放

29. ColorDialog 表示一个通用对话框,该对话框显示可用的颜色以及允许用户定义自定义颜色的控件。

使用方法:

30. OpenFileDialog 显示一个标准对话框,提示用户打开文件。 此类不能被继承。

使用方法

31.ColorDialog 字体对话框

Winform常用事件

Click 点击

MouseEnter 鼠标移入

MouseLeave 鼠标移开

MouseMove 鼠标移动

MouseUp 鼠标移开

FormLoad 窗体加载事件

FormClosing(窗体正在关闭时显示)

Activated(窗体被激活时)

SizeChanged(窗体Size属性更改时)

Resize(调整窗体大小时)

LocationChanged(Location属性更改时)

TextChanged 输入框输入内容改变的事件

SelectedChanged 选中状态变化的事件

FormClosing 正在关闭时候触发

KeyDown 键盘按下触发

KeyUp 松开按键触发

KeyPress 键盘按压触发

CheckedChanged 当单选框或多选框,选项发生变化时触发

Tick 定时器事件,当定时器改变时触发

ValueChanged事件是trackbar组件的事件

PlayStateChange事件,作用: 监听axWindowsMediaPlayer组件播放音乐

SelectedIndexChanged事件,当listbox组件选项发生改变时触发

Paint事件,当组件从新绘制时触发


Winform—常用控件

  • 1.Form 窗体组件

    • 常用属性 :
      • AutoScaleMode 确定当屏幕分辨率或字体更改是窗体或控件将如何缩放

      • text 标题

      • MaximizeBox: 窗口是否可以最大化

      • MinimizeBox: 窗体是否可以最小化

      • WindowState: 窗体初始化的大小, Normal正常,Maximized最大化,Minimized最小化

      • StartPostion: 窗体开始运行出现的位置

      • FormBorderStyle: 窗体的边框样式: None无边框 FixedSingle窄边框,单框 FixedDialog窗体体边框的风格改为和对话框的风格 fixed3d窗体风格设为3d SizeAble正常的窗体样式

      • icon: 窗体图标 必须是ico的格式

      • Size属性: 窗体的大小,可以直接修改

      • Font 字体大小

      • fontcolor 字体颜色

  • 2.lable 用于显示文字

    • 常用属性
      • Name: 指的控件的唯一的表示 类似id属性,每一个控件Nmae不能冲突

      • Text:设置文本内容

      • autoSize: 是否可以设置大小 true 不能设置lable的大小 ; false 可以设置大小宽度和高度

      • TextAlign: 对齐方式

      • ForeColor: 字体颜色

      • font: 设置字体(大小,规范)

      • backColor: 背景颜色

      • borderstyle:边框类型

      • cursor: 鼠标样式

      • Anchor :设置锚点

  • 3.textBox 输入框

    • 常用的属性
      • PassWordChar: 密码加密

      • Multiline: 设置输入单行或多行

      • maxLength: 设置输入框内可以输入多少内容

      • ReadOnly: 只读属性 true 不能输入 false 可以输入

  • 4.Button 按钮

    • 常用属性
      • Backgroundmage 设置窗体背景图片

      • FlatStyle 设置按钮边框样式

  • 5. panel 面板

    • 常用属性
      • bordercolor 边框

      • Font 字体大小

      • size面积

    • (panel也被称为容器,此组件内可以放置其他组件)

  • 6. checkBox 多选框

    • 常用的属性
      • checked: 是否选中

      • checkalign 对齐方式

      • threState: 多选框形态

      • FlatStyle 设置选项选中样式

    • 多选框和单选框一般需要在panel组件内使用

  • 7.RadioButton 单选框

    • 常用属性
      • checked: 是否选中状态

  • 8.pictureBox 显示图片

    • 常用属性
      • SizeMode 图片显示方式

      • image 添加图片

    • 通过代码添加图片

      • 普通路径 img.Image = Image.FromFile("路径");

      • 网络路径 this.pictureBox1.ImageLocation = (list[Count]);

  • 9.TaBControl 选项卡

    • 常用属性
      • TabPages 添加选项卡

  • 10.ComboBox 下拉菜单

    • 常用属性
      • items 添加下拉内容

    • 通过代码添加下拉内容
      • this.comboBox1.Items.Add("山东省");

      • 如果需要添加多个元素 可以放进数组进行遍历
      • string[] strings = new string[] { "新疆省", "福建省" };

      • for (int i = 0; i < strings.Length; i++) { this.comboBox1.Items.Add(strings[i]); }

    • 选中下拉内容的索引值 this.comboBox1.SelectedIndex = 0;

  • 11.DateTimePicker 选择日期和时间

    • 常用属性
      • formation 日期格式

        • 1 Long: 长日期时间格式 比如: 2023年10月2日

        • 2 Short: 短日期格式 比如: 2023/10/2

        • 3 time: 时间日期格式 比如:11:05

        • 4 custom: 自定义时间格式 以自己设置显示方式显示时间

      • Value 初始日期

    • 自定义时间格式
      • // 先将日期格式设为自定义

      • this.dateTimePicker1.Format = DateTimePickerFormat.Custom; // 具体设置日期显示方式 字符串格式

      • this.dateTimePicker1.CustomFormat = "MMMM dd ,yyy-ddd";

    • 具体设置日期显示方式
      • this.dateTimePicker1.CustomFormat = "MMMM dd ,yyy-ddd";

  • 12.DataGridView 表格

    • 常用属性
      • AllowUserToDeleteRows 是否显示多余的一行

      • ScrollBars 滚动条

      • Columns 设置标题属性

      • RowHeadersVisible 指示是否显示包含行标题的列。

    • 用法
      • 添加
        • 一次性添加一整行:

          this.dataGridView1.Rows.Add(new string[] { 元素1, 元素2, 元素3, 元素4 });

        • 一次添加一个单元格:

          int index =this.data1.Rows.Add(); (需要先获取索引) this.dataGridView1.Rows[index].Cells[0].Value = 元素; (添加)

      • 查询
        • 单个查询:

          dataGridView1.Rows[0].Cells[0].value (如果需要查询所有元素的话可以使用双重循环)

        • 找到当前选中的一行的索引:

          dataGridView1.CurrentRow.Index

      • 删除
        • 删除一行: dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);

        • 删除所有的行: dataGridView1.Rows.Clear();

        • 删除所有的列: dataGridView1.Columns.Clear()

      • 绘制表格
        • 方法

          • public static void DgvStyle1(DataGridView dgv)
                    {
                        // 未显示数据时候背景颜色
                        dgv.BackgroundColor = System.Drawing.SystemColors.ButtonFace;
            
                        // 显示数据时候背景颜色
                        dgv.RowsDefaultCellStyle.BackColor = System.Drawing.Color.Black;
            
                        // 设置网格的颜色
                        dgv.GridColor = System.Drawing.Color.Red;
            
                        // 设置列表题边框的模式
                        dgv.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
            
                        // 设置行的边框模式
                        dgv.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
            
                        // 表格的默认样式不可见
                        dgv.EnableHeadersVisualStyles = false;
            
                        dgv.ForeColor = Color.White;
            
                        // 设置列的宽度高度 单位是px
                        dgv.ColumnHeadersHeight = 35;
            
                        // 设置列标题宽度可以被修改
                        dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing;
            
                    }
        • 使用

          • 使用的时候直接在构造函数中调用该方法就行 参数是需要绘制的表格 DgvStyle1(this.dataGridView1);

      • 绘制表格行号
        • 方法

          // 给表格添加行号
          public static void DgvRowCount(DataGridView dgv,DataGridViewRowPostPaintEventArgs e)
                  {
                      // 设置一个笔刷 包含绘制图形的样式,带了表格行的默认字体颜色
                      SolidBrush s1 = new SolidBrush(dgv.RowHeadersDefaultCellStyle.ForeColor);
                      // 行号
                      int num = e.RowIndex + 1;
                      string numstring = num.ToString();
                      // DrawString 绘制字符串
                      e.Graphics.DrawString(numstring,e.InheritedRowStyle.Font,s1,e.RowBounds.Location.X+15,e.RowBounds.Location.Y +5);
                  }
          
        • 使用

          • 使用的时候需要在该表格中添加一个RowPostPaint事件,在该事件中调用行号的方法(当表格添加一次数据调用一次该方法)

          • private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) 
            { Common.DatagridviewStyle.DgvRowCount(dataGridView1, e); }

      • 给单元格添加Click事件
        // 第一步添加给表格添加CellClick单元格点击事件
        
        // 第二步在事件中判断点击的是那个单元格
        private async void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == dataGridView1.Columns["Column5"].Index && e.RowIndex >=0)
            {
                button1_Click(null, null);
            }
            else if (e.ColumnIndex == dataGridView1.Columns["Column4"].Index && e.RowIndex >= 0)
            {
                button1_Click(null, null);
            }
        }

    • 表格的数据源的几种的形式的区别
      • 1 List泛型集合数据 (使用此方法给表格赋值时需要将表格中columns集合中的属性值修改与表格相对应) dataGridView1.DataSource = list

        • 使用方法: this.dataGridView1.DataSource = list

      • 2 dataSet数据集 里面有DataTable属性, 如果有俩个select数据,就会出现2个DataTable,一般情况下都是 使用一个select,所以一般从dataSet.Tables[0],取出数据源即可 可以RowFiter方法对dataset数据进行过滤,按照一定条件进行筛选想要的数据 例如 按照班级筛选成绩,按照大小进行筛选 dataGridView1.DataSource = dataSet.Tables[0]

        • 使用方法: this.dataGridView1.DataSource = this.ds.Tables[0];

  • 13. richTextBox 富文本

    • 用法
      • 如果需要在中端修改组件属性则需要创建一个对话框的对象 字体对话框对象:

      • FontDialog f = new FontDialog();

        f.ShowDialog()==DialogResult.ok

      • 字体颜色对话课对象:

      • ColorDialog c = new ColorDialog();

        c.ShowDialog()====DialogResult.ok

      • 选中字体的颜色 SelectionColor

      • 选中字体的背景颜色 SelectionBackColor

      • 选中文本的字体 SelectionFont

  • 14. timer 定时器

    • 常用属性
      • interval 定时器间隔 (单位是毫秒)

      • Enabled 是否启动定时器

    • 使用
      • this.timer1.Stop(); // 关闭定时器

      • this.timer1.Start(); // 开启定时器

      • this.timer1.Interval = 1000; // 修改执行的频率(每隔一秒执行)

  • 15. progressBar 进度条

    • 常用属性
      • Value 进度值

      • Maximum 设置进度条的最大值

      • Minimum 设置进度条的最小值

      • Step 进度条的递增量

  • 16. SplitContainer 分割容器

    • 常用属性
      • FixedPanel 选中那个窗体那个窗体不会改变大小

    • 作用:

      • 把窗体一分为二,可以放置其他的组件在两个容器里面

  • 17.MonthCalendar 日历

  • 18. MenuStrip 导航菜单

    • 常用属性
      • items 设置菜单的标题的集合

        • Alignment 设置菜单的排列方式

        • margin 外边距

        • padding 内边距

        • image 设置图标

        • imageAlign 设置图标排列方式

    • 设置快捷方式
      • 点击打卡DropDwnItems集合属性,找到需要添加快捷键的按钮,然后找到ShortcutKeys属性 添加快捷按键

  • 19. contexMenuStrip 右键菜单

    • 使用方法
      • 把右键菜单拖拽到窗体上,添加菜单标题,选中label控件(也可以是其他控件),在属性面板里面找到contextmenustrip属性选择对应菜单即可

  • 20.statusStrip 状态菜单栏

    • 常用属性:
      • Items 属性集合 可以在集合内设置其他组件

        • progressBar 进度条

        • StatusLabel 显示文本

        • DropDownButton 按钮图标

        • splitButton 菜单图标

    • 作用

      • 默认在窗体最下面 可以设置进度条 也可以添加下拉按钮,也可以添加文本等待

  • 21. GroupBox 在组件周围显示一个带有标题的框架

  • 22. NumericUpDown 显示用户通过单击空间上的上下按钮可以增加和减少的单个数值

  • 23. maskedTextBox1 输入框(用于区分输入格式)

  • 24. FlowLayoupanel 容器 它与panel的区别是它可以把子组件进行自动排列

  • 25. imagelist组件 是一个存储图片的集合

    • this.listView1.View = View.LargeIcon; // 设置listview展示风格为大图标风格。

    • this.listView1.LargeImageList = this.imageList1; // listview图标的来源

    • this.listView1.SmallImageList = this.imageList1; // 设置小图标风格

  • 26.listview 以五种不同视图中的一种显示项的集合

    • 常用属性
      • 通过view属性设置listview组件的五种风格

        • 1 Largelcon 每个项都为一个最大化图标,在图标下面有一行文字标题

        • 2 Smalllcon 每个项为一个最小化的图标,在图标右面有一行文字标题

        • 3 Details 每个项显示不同行上,并带有关于列中所有排列的进一步信息,最左边的列包含了一个小图标和标签

        • 4 list 每个项都为一个小图标 右边有一个标签,各项排列在列中 没有列标头

        • 5 Tile每一项都显示一个完整大小的图标,

    • 手搓属性
      • this.listView1.GridLines = true; // 在行与列之间是否显示网格线

      • this.listView1.CheckBoxes = true; // 选项框

      • 添加列标题 clumns 列 this.listView1.Columns.Add("学生学号");

      • this.listView1.Columns[0].Width = 200; // 设置列宽度,第二列宽度

      • items.add() 添加一个新行 给新行添加子元素的时候 通过 Subltems.Add() 添加 this.listView1.Items.Add("001"); this.listView1.Items[0].SubItems.Add("张三");

      • // 创键一行的对象 ListViewItem li = new ListViewItem("003"); li.SubItems.Add("王五");

  • 26. listbox 使用于显示一组选项,并且可以使用用户进行选择

    • 使用方法
      • item属性

        • Items 属性是 ListBox 中的所有选项集合,我们可以通过以下方式将选项添加到 ListBox 中

        • 添加单个选项: listBox1.Items.Add("选项1");

        • 添加多个选项: string[] items = { "选项2", "选项3", "选项4" }; listBox1.Items.AddRange(items);

        • // 遍历获取 ListBox 中已选中的所有选项 foreach (var item in listBox1.SelectedItems) { // item 为 ListBox 中一项选项的信息 }

      • SelectedIndex属性

        • SelectedIndex 属性是 ListBox 中已选中选项的索引值。当用户选中 ListBox 中的某个选项时,该属性会更新为所选项的索引值。

        • // 获取当前 ListBox 所选项的索引值 int selectedIndex = listBox1.SelectedIndex;

      • SelectedItems属性

        • // 获取当前 ListBox 所选项的文本信息 string selectedItem = listBox1.SelectedItem.ToString();

  • 27. trackbar组件 用于调整音量

  • 28. axWindowsMediaPlayer1组件 音乐播放器

    • 此组价需要导入第三方库方可使用:

      // 1 引用-->添加引用-->com类型库--->window media player

      // 2 随意找一个控件右键 选择项--com组件---window media player 点击确定

      //3 在工具箱搜索window media player

    • 播放音乐
      • this.axWindowsMediaPlayer1.URL = "路径"; //获取路径 this.axWindowsMediaPlayer1.Ctlcontrols.play();// 播放

    • 歌曲进度
      • this.axWindowsMediaPlayer1.Ctlcontrols.currentPosition; // 当前进度

      • this.axWindowsMediaPlayer1.currentMedia.duration// 歌曲总进度

    • 播放音量
      • axWindowsMediaPlayer1.settings.volume // 代表音量

    • 播放状态
      • axwindowmediapalyer 播放器 默认有这几个状态 (playState 播放器的状态)

      • // 播放状态: playState=3

        // 暂停状态 playState=2

        // 停止状态 playState=1

        //正在缓存 playState=6 /

        / 播放结束 playState=8

    • 暂停播放
      • this.axWindowsMediaPlayer1.Ctlcontrols.pause(); //暂停播放

  • 29. ColorDialog 表示一个通用对话框,该对话框显示可用的颜色以及允许用户定义自定义颜色的控件。

    • 使用方法:
      • DialogResult r = colorDialog1.ShowDialog(); // 显示对话框

        if (r == DialogResult.OK) // 判断用户是否点击ok

        { this.BackColor = colorDialog1.Color; // 获取设置的颜色 }

  • 30. OpenFileDialog 显示一个标准对话框,提示用户打开文件。 此类不能被继承。

    • 使用方法
      • DialogResult r = openFileDialog1.ShowDialog(); // 显示对话框

        if (r == DialogResult.OK) // 判断用户是否点击确定

        { MessageBox.Show(openFileDialog1.FileName.ToString()); // 获得选择的文件路径 }

  • 31.ColorDialog 字体对话框


  • Winform常用事件

    • Click 点击
    • MouseEnter 鼠标移入

    • MouseLeave 鼠标移开
    • MouseMove 鼠标移动
    • MouseUp 鼠标移开
    • FormLoad 窗体加载事件
    • FormClosing(窗体正在关闭时显示)
    • Activated(窗体被激活时)
    • SizeChanged(窗体Size属性更改时)
    • Resize(调整窗体大小时)
    • LocationChanged(Location属性更改时)
    • TextChanged 输入框输入内容改变的事件
    • SelectedChanged 选中状态变化的事件
    • FormClosing 正在关闭时候触发
    • KeyDown 键盘按下触发
    • KeyUp 松开按键触发
    • KeyPress 键盘按压触发
    • CheckedChanged 当单选框或多选框,选项发生变化时触发
    • Tick 定时器事件,当定时器改变时触发
    • ValueChanged事件是trackbar组件的事件
    • PlayStateChange事件,作用: 监听axWindowsMediaPlayer组件播放音乐
    • SelectedIndexChanged事件,当listbox组件选项发生改变时触发
    • Paint事件,当组件从新绘制时触发


本篇文章到此结束,转载请附上原创网址,谢谢!!!


http://www.kler.cn/news/323424.html

相关文章:

  • 宠物智能听诊器在多渠道上的健康管理
  • SpringBoot教程(安装篇) | Docker Desktop的安装(Windows下的Docker环境)
  • 开源链动 2+1 模式、AI 智能名片与 S2B2C 商城小程序:以问题解决为导向的盈利新模式
  • ArcGIS与ArcGIS Pro去除在线地图服务名单
  • Android常用C++特性之std::chrono
  • jupyter安装与使用——Ubuntu服务器
  • java网络编程知识点,以及面试常被问的知识点
  • Spring Boot 入门操作指南
  • Go语言切片复习记录
  • 面试加分必看,11道接口安全测试面试题!
  • 文件上传、amrkdown编辑器
  • 挑战Gitee仓库空间极限:Centos下自建Git Server的部署之旅
  • pdb_strand_id、asym_id 和 entity_id的相互映射
  • 将Pytorch环境打包,快速部署到另一台机器上(在没有网络,或者网络环境不好的情况下推荐使用)
  • 如何禁止电脑上某个软件运行?电脑设置禁止运行软件的4个方法速成
  • 【深度学习基础模型】去噪自编码器 (Denoising Autoencoders, DAE)详细理解并附实现代码。
  • 如何正确连接和使用滑动变阻器?
  • 信息技术网络安全政策制定
  • GO Serial 学习与使用
  • 决策树与随机森林在机器学习中的应用
  • [数据集][目标检测]猪数据集VOC-2856张
  • 一文上手Kafka【下】
  • 快速订餐:Spring Boot 点餐系统
  • 搭建本地AI聊天界面:Open WebUI与Ollama实战指南
  • 63.【C语言】再议结构体(上)
  • 算法打卡:第十一章 图论part08
  • 什么是算力?cpu+显卡吗?
  • 【JAVA-数据结构】时间和空间复杂度
  • ubuntu中通过源码安装pointnet2_ops_lib
  • 360周鸿祎为什么说大模型已成茶叶蛋?