GroupBox、TextBox、CheckBox、ToolStrip、RichTextBox、Timer控件
GroupBox:划分窗体区域,内部可以拖放组件
TextBox:可编辑文本框,也可设置为只读
属性:ReadOnly(只读)、PasswordChar(密码显示的符号,如*)、Multiline(多行,可改变高度)
事件:TextChanged(文本改变触发)
CheckBox:复选框控件
属性:CheckState(是否被选中)
事件:CheckStateChange(选中状态改变触发)
ToolStrip:工具栏
属性:DisplayStyle(如只显示图片)
RichTextBox:有格式文本框,如字体颜色、加粗等
属性:ScrollBar(滚动条)、Font、ForeColor(字体属性)、BulletIndent(项目符号缩进)
事件:LinkClicked(超链接文本被单击触发),在事件中添加代码如下
System.Diagnostics.Process.Start(e.LinkText); //浏览器打开链接
注意:BulletIndent(项目符号缩进),必须在界面代码里打开项目符号,否则缩进值无效。
this.richTextBox1.SelectionBullet = true; //手动输入
this.richTextBox1.BulletIndent = ; //设置缩进值后,自动生成
Timer:计时器,定期引发事件
属性:Enabled(是否运行,类似Start)、Interval(触发Tick事件的时间间隔,毫秒)、Start、Stop
事件:Tick(超过指定时间,且处于启用状态,才不断触发)
举例:倒计时
timer1用于刷新显示系统时间,属性设置:Enable True,Interval 1000
timer2用于刷新剩余时间,属性默认
using System;
using System.Windows.Forms; namespace Demo2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//界面启动,控件默认值为系统时间
numericUpDown1.Value = DateTime.Now.Hour;
numericUpDown2.Value = DateTime.Now.Minute;
numericUpDown3.Value = DateTime.Now.Second;
}
private void button1_Click(object sender, EventArgs e)
{
if (button1.Text == "倒计时")
{
button1.Text = "停止";
timer2.Start();//启动timer2
}else if (button1.Text == "停止")
{
button1.Text = "倒计时";
timer2.Stop();
label7.Text = "倒计时已取消";
}
}
private void timer2_Tick(object sender, EventArgs e)
{
//剩余时间,秒
int timeRemaining=(int)(numericUpDown1.Value*+ numericUpDown2.Value*+ numericUpDown3.Value)-(DateTime.Now.Hour * + DateTime.Now.Minute * + DateTime.Now.Second);
if (timeRemaining> )
{
label7.Text="倒计时开始,剩余" + timeRemaining+ "秒";
}
else
{
label7.Text="倒计时已到";
}
}
private void timer1_Tick(object sender, EventArgs e)
{
label6.Text = DateTime.Now.ToLongTimeString();//每秒刷新一次内容
}
}
}
Timer案例2:随机数
private void button1_Click(object sender, EventArgs e)
{
timer1.Start();//启动时钟,1s(Interval属性)
}
private void button2_Click(object sender, EventArgs e)
{
timer1.Stop();
}
private void timer1_Tick(object sender, EventArgs e)
{
Random r = new Random();
label1.Text = r.Next(, ).ToString("");//两位格式
label2.Text = r.Next(, ).ToString("");//两位格式
label3.Text = r.Next(, ).ToString("");//两位格式
label4.Text = r.Next(, ).ToString("");//两位格式
}
GroupBox、TextBox、CheckBox、ToolStrip、RichTextBox、Timer控件的更多相关文章
- winform 用户控件、 动态创建添加控件、timer控件、控件联动
用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...
- WinForm用户控件、动态创建添加控件、timer控件--2016年12月12日
好文要顶 关注我 收藏该文 徐淳 关注 - 1 粉丝 - 3 0 0 用户控件: 通过布局将多个控件整合为一个控件,根据自己的需要进行修改,可对用户控件内的所有控件及控件属性进行修 ...
- winform用户控件、动态创建添加控件、timer控件、控件联动
用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...
- 无边框窗体和timer控件
一.无边框窗体 1.控制按钮如何制作就是放置可以点击的控件,不局限于使用按钮或是什么别的,只要放置的控件可以点击能触发点击事件就可以了 做的好看一点,就是鼠标移入(pictureBox1_MouseE ...
- C# Winform学习---MDI窗体的设计,PictureBox控件(图片上一页下一页),Timer控件,MenuStrip控件
一.MDI窗体的设计 1.MDI简介 MDI(Multiple Document Interface)就是所谓的多文档界面,与此对应就有单文档界面 (SDI), 它是微软公司从Windows 2.0下 ...
- WinForm timer控件
timer 控件:按用户定义的时间间隔引发的事件 属性: Enabled 是否启用: Interval 事件发生的事件间隔,单位是毫秒 事件只有一个:Tick 事件经过指定的时间间隔 ...
- timer控件、三级联动
timer控件: 实现时间日期自增长: using System; using System.Collections.Generic; using System.ComponentModel; usi ...
- WPF的Timer控件的使用WPF的Timer控件的使用
通过System.Threaing.Timer控件来实现“初始加载页面时为DataGrid的模版列赋初始值” System.Threaing.Timer的用法: 步骤1: //声明定时器 System ...
- 10、面向对象以及winform的简单运用(isMdicontainer的设置、timer控件进行倒计时的制作)
IsMdicontainer的设置 这是对于整个窗体的设置,将一个窗体的IsMdicontainer设置为true之后,再打开新窗体便可以让新窗体被父容器包括在内. 操作方法: 1)先建立一个子窗体C ...
- AJAX中UPDATEPANEL配合TIMER控件实现局部无刷新
首先加入UpdatePanel <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode= ...
随机推荐
- Python模块time、datetime
模块: 模块是一系列常用功能的集合体,一个py文件就是一个模块. 一.模块的作用: 1.从文件级别组织程序,方便管理,随着程序的发展,功能越来越多,我们通常将程序分成一个个py文件,这样做程序的结构更 ...
- Servlet是否单例?
1,测试环境: Java SE版本:1.8.0_161(AMD64) Tomcat版本:9.0.7(AMD64) 2,试验 (1)编写HelloServlet. 由于测试代码很简单,此处只列出doGe ...
- VMware实现iptables NAT及端口映射
1. 前言 本文只讲解实战应用,不会涉及原理讲解.如果想要了解iptables的工作流程或原理可参考如下博文. 具体操作是在PC机的VMware虚拟机上进行的,因此涉及的地址都是内网IP.在实际工作中 ...
- abstract关键字 super 关键字 类与继承
https://www.cnblogs.com/liubing2018/p/8421319.html https://www.cnblogs.com/dolphin0520/p/3803432.htm ...
- Python开发【内置模块篇】configparser
生成配置文件 import configparser config = configparser.ConfigParser() config[', 'Compression': 'yes', ', ' ...
- springboot操作mongodb
springboot操作mongodb 采用MongoRepository操作mongodb springboot版本2.1.2.RELEASE 注意的是:在运行应用程序时,会报错OSS Algori ...
- Linux 内核空间与用户空间
本文以 32 位系统为例介绍内核空间(kernel space)和用户空间(user space). 内核空间和用户空间 对 32 位操作系统而言,它的寻址空间(虚拟地址空间,或叫线性地址空间)为 4 ...
- Jenkins持续集成实践之java项目自动化部署
关于Linux安装Jenkins可以参考我的这篇博文Ubuntu16.04环境安装jenkins 1.安装部署插件 进入插件管理,并搜索该插件Deploy to container Plugin进行安 ...
- Autoware(1)——快速开始
该部分可参照github Autoware中的 Demo Quick_Start. 1. 建立目录“.autoware”来保存demo数据 mkdir .autoware 2. 下载Demo数据下载d ...
- MongoDB Change Stream:简介、尝试与应用
在MongoDB3.6引入的新feature中,change stream无疑是非常吸引人的. Change streams allow applications to access real-tim ...