用户控件:

相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件。

使用方法:在项目上右键、添加、用户控件,之后用户控件的编辑与普通容器控件类似。如果要在后台往窗体中添加,

  将其实例化,然后添加到想要添加的容器的Control集合中。

动态创建添加控件:

可以在一个大容器里一次性放入多个控件

public Form2(haoyou hao)
{
InitializeComponent();
f = hao;
} private void button1_Click(object sender, EventArgs e)
{
//先获取用户输入的是几
int count = Convert.ToInt32(textBox1.Text); flowLayoutPanel1.Controls.Clear();
//循环创建按钮,然后添加到容器中
for (int i = ; i <= count; i++)
{
Button btn = new Button();
btn.Text = i.ToString(); flowLayoutPanel1.Controls.Add(btn); } }

timer控件

组件中的最后一个控件,功能是可以根据用户自定义的时间间隔来触发时间,不会印象窗体本身的其他事件进行。

属性:

  Enable  设置控件是否启用

  Interval  设置事件的频率,以毫秒为单位

事件只有一个:Tick事件

例:使用timer控件获取当前时间并即时变动

private void timer1_Tick(object sender, EventArgs e)
{
label1.Text = DateTime.Now.ToString("yyyy年MM月dd日hh时mm分ss秒");
}

例:每2小时提示用户看电脑时间已经很久了,需要休息了

把timer2.Interval=7200000;//7200秒

private void timer2_Tick(object sender, System.EventArgs e)
{
timer1.Enabled=false;
MessageBox.show("需要休息了,开机已经2小时了");
timer1.Enabled=true;//如果不先把enabled设置成false对话框会一直弹下去
}

控件联动:

类似地区选择,当选的某个省份,后面的下拉框相对变成对应省份的区县

public Form2()
{
InitializeComponent(); //绑定省
comboBox1.DataSource = new ChinaData().Select("");
comboBox1.DisplayMember = "AreaName";
comboBox1.ValueMember = "AreaCode"; //绑定市
comboBox2.DataSource = new ChinaData().Select(comboBox1.SelectedValue.ToString());
comboBox2.DisplayMember = "AreaName";
comboBox2.ValueMember = "AreaCode"; //绑定区县
comboBox3.DataSource = new ChinaData().Select(comboBox2.SelectedValue.ToString());
comboBox3.DisplayMember = "AreaName";
comboBox3.ValueMember = "AreaCode"; } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
//绑定市
comboBox2.DataSource = new ChinaData().Select(comboBox1.SelectedValue.ToString());
comboBox2.DisplayMember = "AreaName";
comboBox2.ValueMember = "AreaCode";
} private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
//绑定区县
comboBox3.DataSource = new ChinaData().Select(comboBox2.SelectedValue.ToString());
comboBox3.DisplayMember = "AreaName";
comboBox3.ValueMember = "AreaCode";
}

winform 用户控件、 动态创建添加控件、timer控件、控件联动的更多相关文章

  1. WinForm用户控件、动态创建添加控件、timer控件--2016年12月12日

    好文要顶 关注我 收藏该文 徐淳 关注 - 1 粉丝 - 3       0 0     用户控件: 通过布局将多个控件整合为一个控件,根据自己的需要进行修改,可对用户控件内的所有控件及控件属性进行修 ...

  2. winform用户控件、动态创建添加控件、timer控件、控件联动

    用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...

  3. 不在界面上用控件 动态创建idhttp,IdAntiFreeze来用

    不在界面上用控件 动态创建idhttp,IdAntiFreeze来用 var IdHTTP: Tidhttp; IdAntiFreeze: TidAntiFreeze; begin IdAntiFre ...

  4. Java通过复选框控件数组实现添加多个复选框控件

    编写程序,通过复选框控件数组事先选择用户爱好信息的复选框,在该程序中,要求界面中的复选框数量可以根据指定复选框名称的字符串数组的长度来自动调节. 思路如下: 创建JPanel面板对象: 使用JPane ...

  5. BMDThread控件动态创建多线程示例

    http://www.cnblogs.com/railgunman/archive/2010/12/08/1900688.html BMDThread控件是一套相当成熟的线程控件,使用它可以让你快速的 ...

  6. C# 学习笔记(一) Winform利用Assembly反射动态创建窗体

    1. 添加Reflection //添加对Reflection程序集引用 using System.Reflection; // 引用窗体创建方法CreateForm,传入参数 private voi ...

  7. WPF 中动态创建和删除控件

    原文:WPF 中动态创建和删除控件 动态创建控件 1.容器控件.RegisterName("Name",要注册的控件)   //注册控件 2.容器控件.FindName(" ...

  8. FineUIMvc随笔 - 动态创建表格列

    声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. 用户需求 用户希望实现动态创建表格列,在 WebForms 中,我们通过在 Page_Init 中创建列来实现: 但是在 MVC ...

  9. FineUIMvc随笔(1)动态创建表格列

    声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. <FineUIMvc随笔>目录 FineUIMvc随笔(1)动态创建表格列 FineUIMvc随笔(2)怎样在控件中 ...

随机推荐

  1. 压缩SWF文件大小!减少40%体积!

     使用FlashBuild作为IDE的痛苦是显著的!如果开发的项目比较大,那么卡顿.崩溃.白屏是常事,使用别的IDE开发如Sublime.FlashDevelop.IDEA等,然后再用mxmlc编译出 ...

  2. sql无限递归查询

    --------------所有子集数据包括自己--------------------- CREATE PROCEDURE ALLSON @ID INT AS BEGIN WITH CTE AS ( ...

  3. 如何修复Windows 10 Enterprise 在9月更新后图片全部由绘图板打开的情况

    在进行了本月更新日的洗礼之后,企业版的Windows 10 突然发现无法好好的进行图片查看. 因为更新之前,各种图片都是使用“照片程序”打开的(这个是photos app),然后更新之后,这个app就 ...

  4. centos下MYSQL 没有ROOT用户的解决方法。

    SbTest for using sysbench creating scritps: sysbench --test=oltp --oltp-table-size=100000 --mysql-db ...

  5. 深入理解CSS过渡transition

    × 目录 [1]定义 [2]过渡属性 [3]持续时间[4]延迟时间[5]时间函数[6]多值[7]阶段[8]触发[9]API 前面的话 通过过渡transition,可以让web前端开发人员不需要jav ...

  6. Windows环境下vscode-go安装笔记

    一.介绍 对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为:https://github.com/microsoft/vscode-go 这款插件的特性包括: ...

  7. AngularJS中get请求URL出现跨域问题

    今天早上帮助同学看了一个AngularJS的问题,主要是请求中出现了跨域访问,请求被阻止. 下面是她给我的代码: <html lang="en" ng-app="m ...

  8. session的使用方法详解

    session的使用方法详解 Session是什么呢?简单来说就是服务器给客户端的一个编号.当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站.当每个用户首次与这台WWW服务器 ...

  9. java.lang.Class.isPrimitive()用法解析

    一.概述: 此方法主要用来判断Class是否为原始类型(boolean.char.byte.short.int.long.float.double). 二.格式: Class.isPrimitive( ...

  10. Hibernate关联映射 映射文件的配置

    一:多对一单向关联 首先我们必须创建两个实体类 例如:Dept类 public class Dept { private Integer deptNo; private String dName; p ...