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= ...
随机推荐
- 软件 利用 win+R 快速启动(无需添加环境变量)
前言:以 "Typora" 软件 为例 ,无需添加环境变量,实现键盘快速启动 第一步 找到 为知笔记的快捷方式 打开文件位置 鼠标右击该软件的桌面快捷方式 复制该软件的快捷方式 第 ...
- SQLServer修改数据列
修改数据列 在开发和生产过程中,列名的拼写错误或者列名的更改是需要操作数据表的,大多数情况下都是不需要修改的. 以下几种情况下我们并不能直接修改数据列: 1.用于索引的列. 2.用于 CHECK.FO ...
- Java开发学习心得(二):Mybatis和Url路由
目录 Java开发学习心得(二):Mybatis和Url路由 1.3 Mybatis 2 URL路由 2.1 @RequestMapping 2.2 @PathVariable 2.3 不同的请求类型 ...
- git如何设置ssh密钥
git设置ssh密钥 目前git支持https和git两种传输协议,github分享链接时会有两种协议可选: 1.Clone with SSH 2.Clone with HTTPS git在使用htt ...
- Cookies 和session
一 会话跟踪 在一个会话的多个请求中共享数据,这就是会话跟踪技术 请求登录(请求参数是用户名和密码): 请求转账(请求参数与转账相关的数据): 请求信誉卡还款(请求参数与还款相关的数据). 登录信息在 ...
- Python爬虫【实战篇】bilibili视频弹幕提取
两个重要点 1.获取弹幕的url是以 .xml 结尾 2.弹幕url的所需参数在视频url响应的 javascript 中 先看代码 import requests from lxml import ...
- springboot中,页面访问不到静态资源
例一,静态资源放在默认的目录,如:resources/static或resources/templates 访问静态资源的时候,路径不应带上默认目录,因为springboot默认从这些目录下开始加载, ...
- Error response from daemon: conflict: unable to remove repository reference 解决方案
由于前一章演示用的镜像没什么用准备删除 docker image rm hello-world:latest Error response from daemon: conflict: unable ...
- 数据类型:list列表[]、元祖tuple()、dict字典{}
List 列表[] 可变的 lst = [1,2,3,4] #改 lst[(元素下标)] = '需要修改的' #通过下表修改 lst[下标:下标] = '需要修改的' #通过范围修改 #加 lst.a ...
- DeeplabV3+ 命令行不显示miou的解决
首先看到训练时会在命令行里输出 loss 和 total loss,那是怎么做到的呢,通过分析 train.py 源码,看到如下代码 total_loss = tf.cond( should_log, ...