C#窗体相关笔记

Windows窗体

窗口 <===> GUi

Windows Form窗体启动方法:

​ 通过Application调用Run方法,实现窗口的启动。

启动Form1()窗口示例:

Application.Run(new Form1());

1、常用属性

1、窗口的常用属性

双击窗口,在窗口上右键属性,找到该属性。

1.1、图标(icon)

Icon属性:可通过该属性更换 图标

1.2、边框样式(FormBorderStyle)

FormBorderStyle:窗口边框样式

属性值说明
Fixed3D固定的三维 边框
FixedDialog固定的对话框样式的粗边框
FixedSingle固定的单行边框
FixedToolWindow不可调整大小的工具窗口边框
None无边框
Sizable可调整大小的边框
SizableToolWindow可调整大小的工具窗口边框

1.3、窗体显示位置(StartPosition)

属性值说明
CenterParent窗体在其父窗口中居中
CenterScreen窗体在当前显示窗口中剧中,其尺寸在窗体大小中指定
Manual窗体的位置由Location属性确定
WIndowsDefaultBounds窗体定位在Windows默认位置,其边界也由Windows默认决定
WindowsDefaultLocation窗体定位在Windows默认位置,其尺寸在窗体大小中指定

1.4、窗体大小(Size)

双击Size,可以看到Width 和Height 两个属性,修改值即可。

窗体大小的值是 Int32类型的,不要写双精度或单精度的浮点数

1.5、设置图像背景(BackgroundImage)

一、布局属性

1、StartPosition属性

用来获取或设置程序运行时窗体的初始显示位置,该属性有5个可选属性值,默认值为WindowsDefaultLocation
如下表所示:

属性值 说明
Manual 窗体的初始显示位置由Location属性决定
CenterScreen 窗体定位在当前显示屏幕窗口中居中,其尺寸在窗体大小Size中指定
WindowsDefaultLocation 窗体定位在windows默认位置,其尺寸在窗体大小Size中指定
WindowsDefaultBounds 窗体定位在windows默认位置,其边界也由windows默认指定
CenterParent 窗体在其父窗体中居中位置

2、Location属性

获取或者设置显示时其左上角在桌面上的坐标,默认值为(0,0)。

3、尺寸属性

Size、MaximizeSize、MinimizeSize,分别表示窗体正常显示、最大化、最小化时的尺寸,他们分别包含窗体宽度Width和高度Height两个子项。

4、WindowsState属性

用来获取或设置窗体显示时的初始状态。默认为Normal
可选属性值如下表:

属性值 说明
Normal 表示窗体正常显示
Minimized 窗体以最小化显示形态
Maximized 窗体以最大化显示形态

5、Autoscroll属性

用来获取或设置一个值,该值指示当任何控件位于窗体工作区以外时,是否会在该窗体上自动显示滚动条,默认为False。

6、AutoSize属性

当无法全部显示窗体中的控件时是否自动调整窗体大小,默认值为False。

二、样式属性

窗体中有多个与标题栏有关的样式属性,他们大多为布尔类型。

1、ControlBox属性

用来获取或设置一个值,该值指示在该窗体的标题栏中、窗口左角处是否显示控制菜单,值为True时将显示该控制菜单,为False时不显示,默认值为True。

2、MaximizeBox属性

用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最大化按钮,值为True时将显示该按钮,为False时不显示,默认值为True。

3、MinimizeBox属性

用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最小化按钮,值为True时将显示该按钮,为False时不显示,默认值为True。

4、HelpButton属性

用来获取或设置一个值,该值指示是否在窗体的标题栏中显示帮助按钮,值为True时将显示该按钮,为False时不显示,默认值为True。

5、ShowIcon属性

用来获取或设置一个值,该值指示是否在窗体的标题栏中是否显示图标,值为True时将显示图标,为False时不显示,默认值为True。

6、Icon属性

获取或设置窗体标题栏中的图标。

7、ShowInTaskbar属性

用来获取或设置一个值,该值指示是否在Windows任务栏中显示窗体,默认值为True。

8、TopMost属性

用来获取或设置一个值,该值指示该窗体是否为最顶层窗体。最顶层窗体始终显示在桌面的最上层,即使该窗体不是当前活动窗体,默认值为False。

9、IsMdiContainer属性

用来获取或设置一个值,该值指示窗体是否为多文档界面中的子窗体的容器。值为True时,窗体是子窗体的容器,为False时,不是子窗体的容器,默认值为False。

10、Opacity属性

获取或设置窗体的不透明度,默认为100%,实际应用中,可以通过该属性给窗体增加一些类似半透明等的特殊效果。

11、MainMenuStrip属性

设置窗体的主菜单,在窗体中添加MenuStrip控件时,Visual Studio .NET会自动完成该属性设置。

三、外观属性

1、Text属性

该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示文字。

2、BackColor

用来获取或设置窗体的背景色。

3、BackgroundImage

用来获取或设置窗体的背景图片。

4、BackgroundImageLayout

设置背景图的显示布局,可选属性值为平铺Tile、居中Center、拉伸Stretch和放大Zoom,默认为Tile。

5、ForeColor

用来获取或设置控件的前景色。

6、Font

获取或设置窗体中显示的文字的字体

7、Cursor

获取或设置当鼠标指针位于窗体上时显示的光标。

8、FormBorderStyle

获取或设置窗体的边框样式,该属性有7个可选值,默认值为Sizable。开发人员可以通过设置该属性值为none,实现隐藏窗体标题栏的功能。

属性值 说明
None 窗体无边框
FixedSingle 固定的单行边框
Fixed3D 固定的三维边框
FixedDialog 固定的对话框式的粗边框
Sizable 可调整大小的边框
FixedToolWindow 固定大小的工具窗口边框
SizableToolWindow 可调整大小的工具窗口边框

4、行为属性

1、Enabled

用来获取或设置一个值,该值指示窗口是否可用,即是否可以对用户交互做出响应。默认值为True。

2、ContextMenuStrip

设置窗体的右键快捷菜单,需要先添加ContextMenuStrip控件,才能设置该属性。

3、AllowDrop

用来获取或设置一个值,该值指示窗口是否可以接受用户拖放到它上面的数据。默认值为False。

4、ImeMode

获取或设置控件的输入法编辑器IME模式。

5、其他属性

AcceptButton

该属性用来获取或设置一个值,该值是一个按钮的名称,当按【Enter】键时就相当于单击了窗体上的该按钮。

CancelButton

该属性用来获取或设置一个值,该值是一个按钮的名称,当按【Esc】键时就相当于单击了窗体上的该按钮。

KeyPreview

该属性用来获取或设置一个值,该值指示在将按键事件传递到具有焦点的控件前,窗体是否接受该事件。值为True时,窗口将接受按键事件,值为False时,窗体不接受按键事件。

2、窗体的常用方法

2.1、常用方法演示:

2.1.1、显示

​ 调用Show方法

public void Show();

            Form2 form2 = new Form2();
            form2.Show();

2.1.2、隐藏

​ 调用Hide方法

public void Hide()

            this.Hide();
            Form2 form2 = new Form2();
            form2.Show();

2.2、常用方法总结

方法说明
Show让窗体显示出来
ShowDialog将窗口显示为模拟态对话框(模拟窗口关闭前,父窗口不可做任何操作)
Hide将窗体隐藏起来,但不销毁窗体,也不释放资源。
Close将窗口关闭
Refresh刷新并重画窗体
Activate激活窗体并给予焦点

3、事件

c#的事件,稍有不同,它是通过参数进行标识的如(EventArgs,MouseEventArgs)一个是单击事件,一个是鼠标单击事件,稍有不同,Visio Studio可识别这些函数,并在控件的属性板的闪电标下,找到特定的事件,绑定函数即可。

3.1、单击事件(Click)

public event EventHandler Click

        private void Form1_Click(object sender, EventArgs e)//单击事件
        {
            MessageBox.Show("窗口被单击了");
        }

        private void Form1_Click(object sender, MouseEventArgs e)//鼠标单击事件
        {
            MessageBox.Show("窗口被鼠标单击了");
        }

3.2、加载事件(Load)

public event EventHandler Load

        private void Form1_Load(object sender, EventArgs e)//加载事件
        {
            DialogResult dialog = MessageBox.Show("是否查看窗体","",MessageBoxButtons.YesNo,MessageBoxIcon.Information);
            if(dialog == DialogResult.Yes)
            {

            }
            
        }

3.3、关闭事件(FormClosing)

public event FormClosingEventHandler FormClosing

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)//关闭事件
        {
          DialogResult dialogResult = MessageBox.Show("是否关闭窗口!","提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if(dialogResult == DialogResult.Yes)
            {
                e.Cancel = false;

            }
            else
            {
                e.Cancel = true;
            }

        }

3.4、常用事件总结

3.4.1、窗体行为和操作相关

事件说明
Load首次启动和加载到内存时会触发该事件
FormClosing窗口的关闭过程会触发该事件
FormClosed窗口关闭后会触发该事件
Click单击窗体会触发该事件
DoubleClick双击窗体会触发该事件
MouseClick单击窗体会触发该事件
MouseDoubleClick双击窗体会触发该事件

3.4.2、窗体外观、布局和焦点相关

事件说明
Resize改变窗体大小会触发该事件
Paint重绘窗体会触发该事件
Activated窗体得到焦点,即窗体激活时会触发该事件
Deactivated窗体失去焦点,会触发该事件

3.4.3、窗体属性修改相关

事件说明
TextChanged更改标题文本时会触发该事件
LocationChanged更改窗体位置会触发该事件
SizeChanged更改窗体大小会触发该事件
BackColorChanged更改背景颜色会触发该事件
FontChanged更改窗体字体时会触发该事件

4、MDI窗体

4.1、MDI简介和演示

作用:用于同时显示多个文档每个文档显示在各自的窗口中。

​ 通常又包含了子菜单的窗口菜单,用于在窗口或文档之间进行切换。

父窗体:起到容器作用

子窗体:放在父窗体中的其他窗体(MDI子窗体)

在设置MDI窗体的主窗体时,要尽可能用项目的启动窗体进行设置。

public Form MdiParent{get;set;}

        public Form2()
        {
            InitializeComponent();
            
            
            this.IsMdiContainer = true;//让MDI父窗口是MDI Container
            
            Form3 form3 = new Form3();
            form3.Show();
            form3.MdiParent = this;

            Form4 form4 = new Form4();
            form4.Show();
            form4.MdiParent = this;

            Form5 form5 = new Form5();
            form5.Show();
            form5.MdiParent = this;
        }

4.2、MDI子窗口排列

public void LayoutMdi(MdiLayout value)

枚举类型参数 MdiLayout 说明

枚举类型说明
Cascade所有MDI子窗体均层叠在MDI父窗体的工作区内
TileHorizontal所有MDI子窗体均水平平铺在MDI父窗体的工作区内
TileVertical所有MDI子窗体均垂直平铺在MDI父窗体的工作区内
            InitializeComponent();
            this.IsMdiContainer = true;
            Form3 form3 = new Form3();
            form3.Show();
            form3.MdiParent = this;

            Form4 form4 = new Form4();
            form4.Show();
            form4.MdiParent = this;

            Form5 form5 = new Form5();
            form5.Show();
            form5.MdiParent = this;
            LayoutMdi(MdiLayout.TileHorizontal);//水平平铺
            LayoutMdi(MdiLayout.TileVertical);//垂直平铺
            LayoutMdi(MdiLayout.Cascade);//层叠排列

5、继承窗体

​ 根据现有窗体结构创建一个与其一样的新窗体。

​ 为了从一个窗体继承,包含该窗体的文件或命名空间必须已编译成可执行文件或DLL(动态链接库文件)

5.1、通过编程的方式继承窗体

public partial class Form2 : Test.Form1{
    
}

按照使用来说,一般是不修改父类的样式,若想改变,需要将父类该控件访问级别修改成 Public

 public partial class Form2 : Form1
    {
        public Form2()
        {
            InitializeComponent();
        }
     
     
        private void Form2btn_Click(object sender, EventArgs e)
        {
            MessageBox.Show("窗体2继承窗体1的按钮被点击了", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
     
     
             private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(800, 450);
            this.Text = "Form2";

            button01.Click -= new System.EventHandler(base.btn01_Click);
            button01.Click += new System.EventHandler(this.Form2btn_Click);
        }
    }

在上面的示例中:button01变量和btn01_Click方法的访问符都是 public 这样咱们才能访问的到。

四、常用控件

1、简介

常见控件作用:

控件分类作用
文本类控件可以在控件上显示文本
选择类控件可以为用户提供选择的项目
分组控件可以将窗体中的其他控件进行分组处理
菜单控件为系统制作功能菜单,将应用程序命令分组,使他们更容易访问
工具栏控件提供了主菜单中常用的相关工具
状态栏控件用于显示窗体上的对象的相关信息,或者可以显示应用程序的信息

1.1、添加控件

1.1.1、窗体添加

​ 1、双击窗体,调出该窗体的设计页面。

​ 2、在左侧点击工具箱,并且拉取需要的控件

​ 3、想要编辑控件时,可以选中控件,并右键属性

​ 4、可通过属性的绑定,给该按钮添加样式、位置、事件等

1.1.2、代码添加

 private void InitializeComponent()
        {
            this.button01 = new System.Windows.Forms.Button();
            this.SuspendLayout();
            // 
            // button01
            // 
            this.button01.Location = new System.Drawing.Point(0, 0);
            this.button01.Name = "button01";
            this.button01.Size = new System.Drawing.Size(100, 35);
            this.button01.TabIndex = 0;
            this.button01.Text = "弹窗";
            this.button01.Click += new System.EventHandler(this.btn01_Click);
            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(800, 450);
            this.Controls.Add(this.button01);
            this.Name = "Form1";
            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
            this.Text = "Form1";
            this.ResumeLayout(false);

        }

        public System.Windows.Forms.Button button01;


        public void btn01_Click(object sender, EventArgs e)
        {
           DialogResult dialog = MessageBox.Show("是否要打开窗体2", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
            switch (dialog)
            {
                case DialogResult.Yes:
                    this.Hide();
                  new Form2().Show();
                    break;
                case DialogResult.No:
                    
                    break;
                default:
                    MessageBox.Show("出错了,正在退出……");
                    this.Hide();
                    break;
            }
        }

1.2、对齐控件、锁定控件、删除控件

1.2.1、对齐控件

对齐方式说明
左对齐将选定控件沿它们的左边对齐
居中对齐将选定控件演他们的中心点水平对齐
右对齐将选定的控件沿它们的右边对齐
顶端对齐将选定的控件沿它们的顶边对齐
中间对齐将选定的控件沿它们的中心点对齐
底部对齐将选定的控件沿它们的底边对齐

1.2.2、锁定控件

​ 为防止书写控件太多造成的控件样式,布局发生改变,可通过锁定控件达到效果

选定控件,右键 锁定控件

1.2.3、删除控件

​ 选中控件,delete键

2、文本类控件

2.1、标签控件(Label)

用于显示用户不能编辑的文本,标识窗体上的对象(如文本框等) 也可以通过编写代码来设置要显示的文本信息

private System.Windows.Form.Label label01 = new System.Windows.Form.Label();
label01.Text = "文本控件(Label)";

​ 控件的显示与隐藏:

label01.Visible = true;//文本控件显示
label01.visible = false;//文本控件隐藏

2.2、按钮控件(Button)

Button控件允许用户通过单击来执行操作,其既可以显示文本,也可以显示图片。

private System.Windows.Form.Button btn01 = new System.Windows.Form.Button();
btn01.Size = new System.Drawing.Size(100,35);
btn01.Text = "按钮";
btn01.Click = new EventHandler(this.Btn01_Click);

private void Btn01_Click(Object sender,EventArgs e){
    MessageBox.Show("按钮被点击了","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Information);
}

2.3、文本框控件(TextBox)

用于获取用户输入的数据或者显示文本,通常用于可编辑文本,也可以使其成为只读状态

2.3.1、只读文本框

private void Form1_Load(Object sender,EventArgs e){//窗体的Load事件
    textBox1.ReadOnly = true;//只读
    textBox1.Text = "只读文本框";
}

2.3.2、密码文本框

private void Form1_Load(Object sender,EventArgs e){//窗体的Load事件
    textBox1.PasswordChar = '@';
    textBox1.UseSystemPasswordChar = true;//将使用默认系统密码字符,并且忽略任何字符集 PasswordChar 
}

2.3.3、创建多行文本框

private void Form1_Load(Object sender,EventArgs e){//窗体的Load事件
    textBox1.Multiline = true;//是其多行显示
   	textBox1.Text = "多行文本框";
    textBox1.Height = 100;//文本框高度
}

2.3.4、突出显示文本框的文本

private void Form1_Load(Object sender,EventArgs e){//窗体的Load事件
    textBox1.Multiline = true;//是其多行显示
   	textBox1.Text = "突出显示的多行文本框:窗前明月官,疑是地上霜! ";
    textBox1.Height = 100;//文本框高度
    textBox1.SelectionStart = 5;//从文本框中索引为5的位置开始选择
    textBox1.SelectionLength = 5;//选择长度为5个字符
}

2.3.5、响应文本框的文本更改事件

private void textBox1_TextChanged(Object sender,EventArgs e){//文本框的TextChanged事件
	label01.Text = textBox01.Text;
}

2.4、有格式的文本控件(RichTextBox)

用于显示、输入和操作带有格式的文本。RichTextBox既含有TextBox的所有功能,还可以显示字体、颜色和链接等

2.4.1、滚动条(ScrollBars)

属性值说明
None从不显示任何类型的滚动条
HorizontalWordWap属性设置为false时,当文本超过控件的宽度时,才会显示滚动条
Vertical当文本超过控件的高度时,才显示 垂直滚动条
Both只有文本超过了控件的宽度或高度,会出现水平或垂直的滚动条
ForcedHorizontalWordWap属性设置为false时,显示水平滚动条,当文本未超出控件的宽度时,滚动条是浅灰色的
ForcedVertical始终显示垂直滚动条,当文本未超出控件的高度时,滚动条是浅灰色的。
ForcedBoth始终显示垂直滚动条,当WordWap属性设置为false时,显示水平滚动条,在文本未超出控件的宽度或长度时,其对应滚动条显示为浅灰色。

WordWrap属性:多行文本框控件在必要时是否自动换行到下一行的开始,

所以当WordWrap属性为true,不管ScrollBars属性值是什么,都不会有水平滚动条。

示例:

private void Form1_Load(object sender,EventArgs e){
	richTextBox1.Multiline = true;
	richTextBox1.ScrollBars = RichTextBoxScrollBars.Vertical;
}

2.4.2、字体属性

2.4.2.1、字体(SelectionFont)
//楷体12号加粗
richTextBox1.SelectionFont = new Font("楷体",12,FontStyle.Bold);
2.4.2.2、字体颜色(SelectionColor)
//蓝色
richTextBox1.SelectionColor = System.Drawing.Color.Blue; 

2.4.3、超链接

richTextBox1.Text = "请单击:www.baidu.com,跳转百度!";
private void richTextBox1_LindClicked(object sender,LinkClickedEventArgs e){
System.Diagnostics.Process.Start(e.LinkText);
}

2.4.4、段落格式

//使控件的内容以项目符号列表的格式排列
richTextBox1.SelectionBullet = true;
//使文本左边缘与控件左边缘之间的距离为8像素
richTextBox1.SelectionIndent = 8;
//使文本右边缘与控件右边缘的距离为12像素
richTextBox1.SelectionRightIndent = 12;

3、选择控件

3.1、下拉组合框控件(ComboBox控件)

3.1.1、通过(DropDownStyle属性,将下拉框控件设置为可选择的下拉框)

Simple: 使ComboBox控件的列表部分总是可见的
DropDown: 此属性的默认值,使用户可以编辑ComboBox控件的文本框部分,只有单击右侧的箭头才能显示列表部分。
DropDownList:用户不能编辑ComboBox控件的文本框部分,呈现下拉框的样式(只能选择,不能编辑)。

示例:

private void Form1_Load(object sender,EventArgs e){
//下拉,可选,不可编辑
comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;

comboBox1.Items.Add("一生所爱");
comboBox1.Items.Add("二生所爱");
comboBox1.Items.Add("三生所爱");
}

3.1.2、选中下拉组合框中可编辑部分的所有文件

public void SelectAll() ——> 选择控件中编辑的所有文本
使用SelectAll之前,首先要将控件的DropDownStyle属性设置为DropDown,这样才能在文本框对选择项进行编辑
示例:

private void Form1_Load(object sender,EventArgs e){
//第一步,首先要将控件的DropDownStyle属性设置为DropDown
comboBox1.DropDownStyle = ComboBoxStyle.DropDown;//下拉,可选,同时可编辑

comboBox1.Items.Add("一生所爱");
comboBox1.Items.Add("二生所爱");
comboBox1.Items.Add("三生所爱");

private void Button1_Click(Object sender,EventArgs e){//选择按钮绑定事件
	comboBox1.SelectAll();
}

}

响应组合框更改事件(SelectedValueChanged)

当SelectValue属性更改时,才能触发SelectedValueChanged事件

private void Form1_Load(object sender,EventArgs e){
//第一步,首先要将控件的DropDownStyle属性设置为DropDown
comboBox1.DropDownStyle = ComboBoxStyle.DropDown;//下拉,可选,同时可编辑

comboBox1.Items.Add("一生所爱");
comboBox1.Items.Add("二生所爱");
comboBox1.Items.Add("三生所爱");

private void comboBox1_SelectedValueChanged(Object sender,EventArgs e){
	label1.Text = comboBox1.Text;//实时同步Label和ComboBox的Text值
}

}

3.2、复选框(CheckBox控件)

3.2.1、复选框是否选中(CheckState属性)

Checked : 选中
UnChecked : 未被选中

private void checkBox1_Click(Object sender,EventArgs e){
	if(checkBox1.CheckState == CheckState.Checked){
	MessageBox.Show("复选框被选中了");
	}else{
	MessageBox.Show("复选框没被选中了");
	}
}

3.2.2、相应复选框改变事件(CheckStateChanged)

private void checkBox1_CheckStateChanged(Object sender,EventArgs e){
		//当选中或取消选中复选框时,会触发本事件,弹出弹窗
	MessageBox.Show("复选框的选择状态发生改变!!");
}

3.3、单选按钮控件(RadioButton控件)

3.3.1、单选按钮是否选中(Checked属性)

单选按钮必须在同一个组里面才能实现单选效果

private void Form1_Load(object sender,EventArgs e){
	radioBtn01.Checked = false;
	radioBtn02.Checked = false;
}
private void radioBtn01_Click(object sender,EvenArgs e){
	if(radioBtn01.Checked == true){
		MessageBox.Show("radioBtn01控件被选中了");
	}else{
		MessageBox.Show("radioBtn01控件被取消选中了");
	}
}
private void radioBtn02_Click(object sender,EvenArgs e){
	if(radioBtn02.Checked == true){
		MessageBox.Show("radioBtn02控件被选中了");
	}else{
		MessageBox.Show("radioBtn02控件被取消选中了");
	}
}

3.3.2、响应单选按钮选中状态更改事件(CheckedChanged)

private void radioBtn1_CheckedChanged(object sender ,EventArgs e){
	MessageBox.Show("单选按钮的选中状态在更改!");
}

3.4、数值选择控件(NumericUpDown控件)

显示和输入数值的控件,提供一对上下箭头,单机箭头改变数值,也可以自行输入更改

3.4.1、获取控件中显示的数字

Maximum属性:设置数值的最大值,若输入值大于最大值,则数值自动改为最大值
Minimum属性:设置数值的最小值,若输入值小于最小值,则数值自动改为最小值
Value属性:可以获取NumericUpDown中显示的数值 public decimal Value{get;set;}

示例:

private void Form1_Load(object sender,EventArgs e){
	numericUpDown1.Maximum = 20;//控件最大值20
	numericUpDown1.Minimum = 1;//控件最小值1
}
private void numericUpDown1_ValueChanged(object sender,EventArgs e){
		label1.Text = "当前控件显示的数值为:"+numericUpDown1.Value;
}

UserEdit属性:用户是否已经输入值
ParseEditText方法:将数字显示框中显示的文本转换为数值
UpdateEditText方法:以适当的格式显示数字显示框的当前值

如果UserEdit属性为true,则在验证或更新该值之前,将调用ParseEditText,并查看转换的数值是否在最大最小值之间,并调用UpdateEditText方法来显示当前值

3.4.2、数值的显示方式

DecimalPlaces属性:用于确定在小数点后显示几位数,取值范围[0,99],默认时0
ThousandsSeparator属性:用于确定是否每个3个十位数,就插入一个分隔符,默认情况为false
Hexadecimal属性:控件是否以16进制显示,默认false

private void Form1_Load(object sender,EventArgs e){
numericUpDown1.Maximum = 20;//最大数值为20
numericUpDown1.Minimum = 1;//最小数值为1
numericUpDown1.DecimalPlaces = 2;//显示小数点后两位
}

3.5、列表控件(ListBox)

3.5.1、在ListBox控件中添加或移除项

private void btn01_Click(object sender,EventArgs e){//添加按钮绑定事件
	if(textBox1.Text = ""){//是否输入数据
		MessageBox.Show("请输入要添加的数据");
	}else{
		listBox1.Items.Add(textBox1.Text);
	}
}
private void btn2_Click(object sender,EventArgs e){
	if(listBox1.SelectedItems.Count == 0){
	MessageBox.Show("请选择您要删除的数据");
	}else{
	listBox1.Items.Remove(listBox1.SelectedItem);
	}
}
  • 0
    点赞
  • 16
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页
评论

打赏作者

铭(java、C#)

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值