WinForm控件介绍
- 格式:ppt
- 大小:985.00 KB
- 文档页数:22
C#Winform编程控件之数字输⼊框控件(numericUpDown)数字输⼊框控件是⽤于输⼊数字和调节数字的⼀个控件,该控件中的数字储存为decimal类型,但是数字必须是整数⽽不能是⼩数。
控件在⼯具箱中的样式如下:控件拖拽到窗⼝后的样式如下:常⽤属性:Value属性:控制数字输⼊框的数字的值(可⽤控件的向上或者向下符号对数字进⾏调节也可以⾃⼰输⼊)。
Maxmum属性:控制数字输⼊框的最⼤值(当输⼊的值⼤于最⼤值或者调节到⼤于最⼤值数字输⼊框则显⽰的是最⼤值,超过最⼤值也只显⽰最⼤值)。
Minimum属性:控制数字输⼊框的最⼩值(可以为负数)。
Increment属性:控制点击⼀次向上或者向下⼩按钮数字输⼊框值的增减⼤⼩。
UpDownAlign属性:控制数字调节⼩按钮是在控件的左边还是右边,有两个值:Left和Right。
对应的属性如下:实现按住不放和按住拖拽增减数值的功能:代码如下:(可⾃⾏提取⾥⾯有⽤的部分)需要⽤到的参数定义如下:1bool isMouseDown_PosX = false; //⿏标是否按下2float posX_X = 0;3float posX_Y = 0;4float posX_lastValue = 0;相关的事件响应函数如下:1//键盘按下时调⽤2private void numericUpDown_posX_KeyDown(object sender, KeyEventArgs e)3 {4if (e.KeyCode == Keys.Enter) //回车键5 {6 ChangeWorldCoordinate();7 }8 }910//⿏标按下时调⽤11private void numericUpDown_posX_MouseDown(object sender, MouseEventArgs e) 12 {13if (e.X > numericUpDown_posX.Size.Width - 15)14 {15if (e.Button == MouseButtons.Right) //⿏标右键16 {17 ChangeWorldCoordinate(true);18return;19 }2021if (e.Button == MouseButtons.Left) //⿏标左键22 {23if (ModifierKeys == Keys.Shift) //按住Shift键时,点击⿏标左键24 {25 MessageBox.Show("Mouse And Key!");26 }27 isMouseDown_PosX = true;28 posX_X = e.X;29 posX_Y = e.Y;30 ChangeWorldCoordinate();31 }32 }33 }3435//⿏标抬起时调⽤36private void numericUpDown_posX_MouseUp(object sender, MouseEventArgs e)37 {38 isMouseDown_PosX = false;39 }4041//⿏标按下移动时调⽤42private void numericUpDown_posX_MouseMove(object sender, MouseEventArgs e) 43 {44if (isMouseDown_PosX)45 {46float deltaX = e.X - posX_X;47float deltaY = posX_Y - e.Y;48float delta = 0;49if (deltaX==0 && deltaY==0)50 {51return;52 }5354//右、上⽅向55if (deltaX>0 || deltaY>0)56 {57 delta = (deltaX >= deltaY) ? deltaX : deltaY;58if (delta > 0.5)59 {60 delta = 0.5f;61 }62 }63//左、下⽅向64if (deltaX<0 || deltaY<0)65 {66 delta = (deltaX <= deltaY) ? deltaX : deltaY;67if (delta < -0.5)68 {69 delta = -0.5f;70 }71 }7273 numericUpDown_posX.Value += (decimal)delta;74 posX_X = e.X;75 posX_Y = e.Y;76 ChangeWorldCoordinate();77 }78 }7980//数值发⽣改变时调⽤81private void numericUpDown_posX_ValueChanged(object sender, EventArgs e)82 {83if (Math.Abs(numericUpDown_posX.Value - (decimal)posX_lastValue) != numericUpDown_posX.Increment)84 {85return;86 }87if (isMouseDown_PosX)88 {89 posX_lastValue = (float)numericUpDown_posX.Value;90 ChangeWorldCoordinate();91 }92 }实现按住拖拽功能思路如下:1:设置⼀个标记位,在⿏标按下时设为true;2:在⿏标按下并移动时,判断标记位的状态,如果为true,则根据⿏标前后位置的增量,增减数值;3:在⿏标抬起时,将标记位设置为false,不再进⾏移动时的事件响应;这个控件没有“ private void numericUpDown_posX_MouseMove(object sender, MouseEventArgs e)”这个时间,需要⼿动进⾏绑定,绑定⽅式如下:this.numericUpDown_posX.MouseMove += new System.Windows.Forms.MouseEventHandler(this.numericUpDown_posX_MouseMove);。
Winform 单选框用法什么是WinformWinform是指Windows窗体应用程序,是一种用于开发Windows桌面应用程序的技术。
它是微软公司提供的一种基于.NET框架的图形用户界面(GUI)开发工具,使用C#或等编程语言进行开发。
Winform提供了丰富的控件库,包括按钮、文本框、标签、单选框等,可以通过拖拽控件的方式快速搭建用户界面,并通过编程实现各种功能和交互。
在Winform应用程序中,单选框(RadioButton)是一种常用的控件,它允许用户从多个选项中选择一个。
本文将详细介绍Winform单选框的用法,包括创建、设置属性、事件处理等。
创建Winform应用程序在开始讲解Winform单选框的用法之前,我们先来创建一个Winform应用程序。
首先,打开Visual Studio(我使用的是Visual Studio 2019),选择创建新项目。
在模板选择中,选择Visual C# -> Windows桌面 -> Windows Forms应用程序。
接下来,选择项目名称和存储位置,并点击“创建”按钮。
完成上述步骤后,Visual Studio会自动生成一个默认的Winform应用程序。
添加单选框控件要使用单选框控件,首先需要将其添加到窗体上。
在Visual Studio的工具箱中,可以找到单选框控件(RadioButton)。
将其拖拽到窗体上的合适位置。
添加单选框控件后,可以在窗体设计器中对其进行调整和设置。
设置单选框属性Winform单选框控件有一些常用的属性,可以通过设置这些属性来自定义单选框的外观和行为。
Text属性Text属性用于设置单选框的显示文本。
可以通过在属性窗口中直接修改Text属性的值,或者在代码中通过赋值来设置。
radioButton1.Text = "选项1";Checked属性Checked属性用于设置单选框的选中状态。
自定义控件开发一般而言,Visual Studio 2005中自带的几十种控件已经足够我们使用了,但是,在一些特殊的需求中,可能需要一些特殊的控件来与用户进行交互,这时,就需要我们自己开发新的、满足用户需求的控件。
要开发自己的控件,有几种方法:❶复合控件(Composite Controls):将现有的各种控件组合起来,形成一个新的控件,来满足用户的需求。
❷扩展控件(Extended Controls):就是在现有的控件基础上,派生出一个新的控件,增加新的功能,或者修改原有功能,来满足用户需求。
❸自定义控件(Custom Controls):就是直接从System.Windows.Forms.Control 类派生,也就是说完全由自己来设计、实现一个全新的控件,这是最灵活、最强大的方法,但是,对开发者的要求也是最高的。
要实现一个自定义控件,必须为Control类的的OnPaint事件编写代码,在OnPaint事件中实现自定义控件的绘制工作。
同时,还可以重写Control类的WndProc方法,来处理底层的Windows消息。
所以说,要实现一个自定义控件,对开发者的要求较高,要求开发者必须了解GDI+和Windows API的知识。
下面我们就分别给大家介绍这三种方法。
❶复合控件(Composite Controls)复合控件实际上是控件的集合,类似于堆积木。
因此,可以按照用户的需求,把VS 2005工具箱中的控件任意组合起来,形成一个复合控件。
在以后使用中,将生成的这个复合控件作为一个控件来对待。
复合控件一般都是从UserControl类派生而来,因此复合控件(用户控件)可以在“UserControl测试容器”中进行测试。
复合控件的创建步骤:第一步:新建一个Windows控件库项目“CompositeControlDemo”第二步:向复合控件中添加Visual Studio 2005中的控件组合。
bel标签1).说明Label标签用于显示字符或者提示作用.2).设置其文本内容lblArea.Text = area.ToString(); /* lblArea 为控件名字*/2.ToolTip控件1).说明ToolTip用于提示与指定控件相关的文本.当鼠标位于某控件时便会显示提示文本. 2).设置提示文本this.toolTip.SetToolTip(this.tbar, this.tbar.Value.ToString());说明:1)toolTip为该窗体上的ToolTip控件的名字;2)tbar为关联的控件的名字;3)函数第一个参数为关联的控件,第二个参数为提示文本.3.Timer控件1).说明Timer控件为定时器,用于设定的时间间隔来响应相应的操作.2).时间间隔设置在属性面板中,Interval属性用于设置时间间隔,单位为毫秒(ms).3).常用数据成员及成员函数1.启用定时器:成员函数Start;2.停用定时器:成员函数Stop;4.TextBox控件1).说明TextBox为编辑框,用来输入数据.2).常用成员函数及数据成员1.Text:获取或设置当前TextBox中的文本,返回类型为string;2.Focus():设置焦点位于当前TextBox控件上;3.SelectAll():选中编辑框中的全部内容.5.TrackBar控件1).说明TrackBar控件为滚动条,通过滑动来调节数据大小.2).属性设置通过Orintation属性来设置控件的方向,可以是水平方向(Horizontal)也可以是竖直方向(vertical);通过Maximum设置其最大值;通过Minimum设置其最小值.控件的Anchor属性表示大小改变时候伸张的方向.3).常用成员函数及数据成员1.Value:通过数据成员Value可以返回当前滚动条的数值;2.Enabled:该值设置为False则该控件处于灰选状态;boBox控件1).说明ComboBox控件为下拉列表框,用于选择需要的数据.2).属性设置1.Items:编辑此属性可以设置列表框中选项内容;2.DropDownStyle:此属性设置下拉列表框样式.设置为DropDown时,则即可以从下拉列表中选择又可以进行编辑;设置为DropDownList时只能进行选择;3).常用数据成员及成员函数1.SelectedIndex:设置或获取选中内容的索引,从0开始;2.Text:设置或获取控件要显示的内容;3.Items:列表框中所包含所有项的集合.Items.Add()用于添加一个数据项;Items.Remove()用于添加一个数据项;Items.Clear()清空所有数据项;items.count获取数据项数目.4.Focus():设置焦点;4).使用示例this.cboRole.Items.Add("管理员"); /*向列表框cboRole添加一个数据项*/this.cboRole.SelectedIndex = 0; /*设置选中第一个数据项*/this.cboRole.Focus(); /*设置焦点*/绑定DataTable:this.cbox_Servicer.DataSource = ds.Tables[0];this.cbox_Servicer.DisplayMember = "姓名";7.MenuStrip控件1).说明1.MenuStrip控件为菜单栏控件.如果要显示菜单项之间的分隔符,则在键入文本处输入“-”符即可;2.MdiWindowListItem用来指定显示MDI窗口列表的项.右图为将该项指定为菜单项“窗口”后的效果,此时所有打开的子窗口都可以在菜单项“窗口”下拉中看到.从右图的窗口可以看出已经打开的子窗口有“用户管理”及“部门管理”两个子窗口.3.8.Panel控件1).说明Panel控件用于绘图或者显示图片等功能.2).常用成员函数及数据成员①添加控件将动态生成的控件添加到面板中:this.panContainer.Controls.Add(picTemp); panContainer为Panel控件名称.9.ErrorProvider控件1).说明ErrorProvider控件用来提示错误信息,通过与其它控件绑定来使用.2).常用成员函数及数据成员1.SetError():设置指定控件的错误描述字符;2.BlinkRate:获取或设置闪烁速率;3.Icon:设置错误提示图标;3).使用示例this.errorProvider.SetError(this.cboRole, "请输入工号!"); /* cboRole 为控件Name*/ this.errorProvider.SetError(this.cboRole, ""); /*取消cboRole 控件的错误提示*/10.ListView控件1).常用操作1.清空操作this.lvUsers.Items.Clear(); /*清空所有记录*/this.lvUsers.Clear(); /*清空整个列表(包括表头)*/注:lvUsers为ListView控件Name2.添加新的记录每一项包含ID及密码两个子项(roleID为int型,rolePassword为string型)ListViewItem lvItem = this.lvUsers.Items.Add(roleID.ToString());lvItem.SubItems.Add(rolePasswrd);3.判断是否有选中项通过数据成员SelectedItems来判断.使用示例如下:this.lvUsers.SelectedItems == null;或者this.lvUsers.SelectedItems.Count == 0 ; /*选中项数*/4.获取选中项内容下面以选中一项时为例,每一个列表项有ID和Password两个子项.ListViewItem selectedItem = this.lvUsers.SelectedItems[0];int userID = int.Parse(selectedItem.SubItems[0].Text);string password = selectedItem.SubItems[1].Text;5.添加表头this. lvUsers.Columns.Add("课程"); /*在表头添加一个列*/注:如果此时ListView控件的”VIew”属性不是”Details”还需要增加语句:this. lvUsers.View = View.Details;2).显示图片列表添加一个Listview控件及一个ImageList控件。
学习Winform分组类控件(Panel、groupBox、TabControl)分组类控件主要包括容器控件(Panel),分组框控件(groupBox)和选项卡控件(TabControl)等控件。
⼀、Panel控件Panel控件是由System.Windows.Forms.Panel类提供的,主要作⽤就是将其他控件组合⼀起放在⼀个⾯板上,使这些控件更容易管理。
当Panel控件⾯板上要显⽰过多的控件时,可设置AutoScroll属性为true。
Panel控件在默认情况下不显⽰边框,如把BorderStyle属性设置为不是none的其他值,就可以使⽤⾯板可视化地组合相关的控件。
实例:演⽰Panel控件的BorderStyle属性和AutoScroll属性(1)在窗体中添加⼀个Panel控件,设置AutoScroll属性为true,设置BorderStyle属性为Fixed3D,添加⼀个Button控件和⼀个ListBox控件,设置Button控件的Text属性为“增加”。
(2)双击Button控件⽣成Click事件,在Click事件中完成向ListBox控件添加⼀个项⽬并且使其⾼度增加20,代码为:<span style="font-size:18px;"> private void button1_Click(object sender, EventArgs e){listBox1.Items.Add("⼦项");//增加⼦项listBox1.Height = listBox1.Height + 20;//增加⾼度}</span>完整的窗体代码为:<span style="font-size:18px;">using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace WindowsFormsApplication3{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){listBox1.Items.Add("⼦项");//增加⼦项listBox1.Height = listBox1.Height + 20;//增加⾼度}}}</span>运⾏窗体然后多次点击增加按钮的结果为:⼆、GroupBox控件GroupBox控件是由System.Windows.Forms.GroupBox类提供的,主要作⽤是为其他控件提供可识别的分组,通常,使⽤分组框按功能细分窗体。
1.数据显示:DataGridView(DataGridView 控件提供用来显示数据的可自定义表。
使用 DataGridView 类,可以自定义单元格、行、列和边框)。
文本编辑:TextBox(显示设计时输入的文本,它可由用户在运行时编辑或以编程方式更改)。
RichTextBox(使文本能够以纯文本或 RTF 格式显示)。
MaskedTextBox(约束用户输入的格式)。
2.信息显示:Label(显示用户无法直接编辑的文本)。
LinkLabel(将文本显示为 Web 样式的链接,并在用户单击该特殊文本时触发事件。
该文本通常是到另一个窗口或网站的链接)。
StatusStrip(通常在父窗体的底部使用有框架的区域显示有关应用程序的当前状态的信息)。
ProgressBar(向用户显示操作的当前进度)。
3.从列表中选择:CheckedListBox(显示一个可滚动的项列表,每项旁边都有一个复选框)。
ComboBox(显示一个下拉式项列表)。
DomainUpDown(显示用户可用向上和向下按钮滚动的文本项列表)。
ListBox(显示一个文本项和图形项(图标)列表)。
ListView(在四个不同视图之一中显示项。
这些视图包括纯文本视图、带有小图标的文本视图、带有大图标的文本视图和详细信息视图)。
NumericUpDown(显示用户可用向上和向下按钮滚动的数字列表)。
TreeView (显示一个节点对象的分层集合,这些节点对象由带有可选复选框或图标的文本组成)。
4.图形显示:PictureBox(在一个框架中显示图形文件(如位图和图标)。
5.图形存储:ImageList(充当图像储存库。
ImageList 控件和及其包含的图像可以在不同的应用程序中重用)。
6.值的设置:CheckBox(显示一个复选框和一个文本标签。
通常用来设置选项)。
CheckedListBox(显示一个可滚动的项列表,每项旁边都有一个复选框)。
1、窗体 (2)2、Label控件 (4)3、TextBox控件 (4)4、RichTextBox控件 (6)5、NumericUpDown控件 (7)6、Button控件 (8)7、GroupBox控件 (8)8、RadioButton控件 (8)9、CheckBox控件 (9)10、ListBox控件 (9)11、ComboBox控件 (11)12、CheckedListBox控件 (11)13、PictureBox控件的使用 (11)14、Timer控件 (12)15、ProgressBar控件和TrackBar控件 (12)16、HScrollBar控件和VScrollBar控件的使用 (14)17、OpenFileDialog控件 (14)18、SaveFileDialog控件 (15)19、FontDialog控件 (15)20、ColorDialog控件 (15)21、PrintDialog控件和PrintDocument控件 (16)22、用户自定义对话框 (16)23、菜单控件 (16)25、MDI应用程序设计 (17)26、键盘事件处理 (18)27、鼠标事件处理 (19)28、排列窗体上的控件 (19)1、窗体1、常用属性(1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。
(2)WindowState属性:用来获取或设置窗体的窗口状态。
取值有三种:Normal(窗体正常显示)、Minimized(窗体以最小化形式显示)和Maximized(窗体以最大化形式显示)。
(3)StartPosition属性:用来获取或设置运行时窗体的起始位置。
其取值及含义如表9-1所示。
默认的起始位置是WindowsDefaultLocation。
(4)Text属性:该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示的文字。
(5)Width属性:用来获取或设置窗体的宽度。
winform tablelayoutpanel用法一、WinForm简介WinForm(Windows Forms)是微软提供的一种桌面应用程序开发技术,基于Visual Studio开发环境。
它允许开发者创建具有丰富图形用户界面的应用程序,方便用户进行操作和交互。
在WinForm中,有许多控件可供开发者使用,从而实现各种功能。
本文将重点介绍TableLayoutPanel控件的用法。
二、TableLayoutPanel概述TableLayoutPanel是一款非常实用的控件,它类似于表格布局,可以轻松地组织和管理控件。
TableLayoutPanel具有如下特点:1.结构灵活:TableLayoutPanel可以自适应调整行列数,以满足不同布局需求。
2.控件间距可调:通过设置间距属性,可以调整控件之间的距离,使布局更美观。
3.支持合并单元格:可以合并相邻的单元格,以实现更复杂的布局效果。
4.易于调整:通过拖拽单元格或调整属性,可以轻松地修改布局。
三、TableLayoutPanel常用属性与方法1.属性:(1)Columns:设置TableLayoutPanel的列数。
(2)Rows:设置TableLayoutPanel的行数。
(3)CellBorderStyle:设置单元格边框样式。
(4)CellSpacing:设置单元格间距。
(5)BackColor:设置TableLayoutPanel背景颜色。
2.方法:(1)Add:向TableLayoutPanel中添加控件。
(2)AddRange:向TableLayoutPanel中批量添加控件。
(3)Remove:从TableLayoutPanel中移除控件。
(4)Clear:清空TableLayoutPanel中的所有控件。
四、TableLayoutPanel实例应用以下是一个简单的TableLayoutPanel实例应用,用于创建一个具有按钮、标签和文本框的登录界面:1.新建一个WinForm项目。
winform 列表用法WinForm中的列表控件是一种常用的数据展示工具,它可以让用户方便地查看和管理数据。
本文将介绍WinForm列表控件的用法,包括列表控件的概述、基本操作、常用属性、事件处理等方面的内容。
一、列表控件概述WinForm中的列表控件是一种常用的数据展示工具,它可以将数据以列表的形式呈现给用户,方便用户进行查看和操作。
常见的列表控件包括ListBox、CheckedListBox、TreeView等。
这些控件通常用于展示一系列可选项,用户可以通过选择或取消选择来操作数据。
二、基本操作1. 添加数据:使用Add方法向列表中添加数据,可以一次添加多个数据。
2. 删除数据:使用Remove方法从列表中删除数据。
3. 替换数据:使用Clear方法清除列表中的所有数据,然后使用Add方法添加新的数据。
4. 循环遍历:可以使用foreach循环遍历列表中的数据。
5. 选中项:可以使用Select方法选中指定的项,也可以使用Clear方法取消选中所有项。
三、常用属性1. ListItems:包含列表中的所有项的集合,可以通过此属性访问和修改列表中的数据。
2. SelectedItems:包含被选中的项的集合,可以通过此属性获取当前选中的项。
3. MultiSelect:指定是否允许多选和单选,多选时可以使用SelectedIndices属性获取选中项的索引。
4. View:指定列表的视图模式,包括无视图、无选定项、项目视图等。
5. Location:指定列表的位置和大小,可以根据需要调整。
四、事件处理1. SelectedIndexChanged事件:当选中项的索引发生变化时触发该事件。
可以使用该事件来响应用户的选中操作,例如更新界面或执行相应的操作。
2. KeyDown事件:当用户在列表上按下键盘按键时触发该事件。
可以使用该事件来响应用户的键盘操作,例如通过快捷键切换选中项。
3. DropDown事件:当下拉列表展开时触发该事件。