一、Timer控件

Timer实际就是一个线程控件。

属性:Enabled    是否被启用

Interval     多长时间执行一次控件中的代码

事件: Tick     事件中放要执行的代码。

利用Timer控件可以实现即时聊天功能。动态的从数据库查询别人发的信息展示到聊天框中。

二、三级联动

实体类

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace WindowsFormsApplication2
  7. {
  8. public class China
  9. {
  10. private string _AreaCode;
  11.  
  12. public string AreaCode
  13. {
  14. get { return _AreaCode; }
  15. set { _AreaCode = value; }
  16. }
  17. private string _AreaName;
  18.  
  19. public string AreaName
  20. {
  21. get { return _AreaName; }
  22. set { _AreaName = value; }
  23. }
  24. private string _ParentAreaCode;
  25.  
  26. public string ParentAreaCode
  27. {
  28. get { return _ParentAreaCode; }
  29. set { _ParentAreaCode = value; }
  30. }
  31.  
  32. }
  33. }

数据操作类:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data.SqlClient;
  4. using System.Linq;
  5. using System.Text;
  6.  
  7. namespace WindowsFormsApplication2
  8. {
  9. public class ChinaData
  10. {
  11. SqlConnection conn = null;
  12. SqlCommand cmd = null;
  13.  
  14. public ChinaData()
  15. {
  16. conn = new SqlConnection("server=.;database=Data0216;user=sa;pwd=123");
  17. cmd = conn.CreateCommand();
  18. }
  19.  
  20. //通过一个父级编号,查询该父级编号对应的地区,放到一个集合中去。
  21. public List<China> Select(string pcode)
  22. {
  23. List<China> clist = new List<China>();
  24. cmd.CommandText = "select *from ChinaStates where ParentAreaCode = @a";
  25. cmd.Parameters.Clear();
  26. cmd.Parameters.AddWithValue("@a", pcode);
  27. conn.Open();
  28. SqlDataReader dr = cmd.ExecuteReader();
  29. while (dr.Read())
  30. {
  31. China c = new China();
  32. c.AreaCode = dr[].ToString();
  33. c.AreaName = dr[].ToString();
  34. c.ParentAreaCode = dr[].ToString();
  35.  
  36. clist.Add(c);
  37. }
  38. conn.Close();
  39. return clist;
  40. }
  41. }
  42. }

后台代码

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9.  
  10. namespace WindowsFormsApplication2
  11. {
  12. public partial class Form1 : Form
  13. {
  14. public Form1()
  15. {
  16. InitializeComponent();
  17.  
  18. //调用方法绑定所有省
  19. Bind("", comboBox1);
  20. //绑定所有选中省下面的市,selectvalue是绑定数据源给程序看的value中的选中的内容,和数据库有关。
  21. Bind(comboBox1.SelectedValue.ToString(), comboBox2);
  22. //绑定所有选中市下面的区县
  23. Bind(comboBox2.SelectedValue.ToString(), comboBox3);
  24.  
  25. }
  26.  
  27. //数据绑定方法(给我一个地区父级编号,绑定到相应的Combox中去),需要一个地区父级编号和一个Combox对象两个参数
  28. public void Bind(string pcode, ComboBox cb)
  29. {
  30. //给一个父级编号,把该父级编号查到的地区放到集合clist中去
  31. List<China> clist = new ChinaData().Select(pcode);
  32.  
  33. //绑定Combox的数据源
  34. cb.DataSource = clist;
  35. cb.DisplayMember = "AreaName";
  36. cb.ValueMember = "AreaCode";
  37. }
  38.  
  39. //Combox1选中内容改变时,Combox2和Combox3中的数据源相应的改变。
  40. private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
  41. {
  42.  
  43. Bind(comboBox1.SelectedValue.ToString(), comboBox2);
  44. if (comboBox2.SelectedValue != null)
  45. {
  46. Bind(comboBox2.SelectedValue.ToString(), comboBox3);
  47. }
  48. }
  49.  
  50. //Combox2中选中内容改变时,Combox3中的数据源响应的改变。
  51. private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
  52. {
  53. Bind(comboBox2.SelectedValue.ToString(), comboBox3);
  54. }
  55. }
  56. }

 三、权限设置

所谓权限设置就是根据登录用户帐号的不同,该帐号对应显示的操作功能不同

实现方法:在数据库的用户表中增加字段进行权限的区分,根据从数据库表中查询到的数据进行相应的

【2017-05-05】timer控件、三级联动、帐号激活权限设置的更多相关文章

  1. timer控件、三级联动、帐号激活权限设置

    一.Timer控件 Timer实际就是一个线程控件. 属性:Enabled    是否被启用 Interval     多长时间执行一次控件中的代码 事件: Tick     事件中放要执行的代码. ...

  2. 10、面向对象以及winform的简单运用(isMdicontainer的设置、timer控件进行倒计时的制作)

    IsMdicontainer的设置 这是对于整个窗体的设置,将一个窗体的IsMdicontainer设置为true之后,再打开新窗体便可以让新窗体被父容器包括在内. 操作方法: 1)先建立一个子窗体C ...

  3. C# Timer 控件的用法

    一.主要的属性 在 Windows 窗体应用程序中,定时器控件(Timer)与其他的控件略有不同,它并不直接显示在窗体上,而是与其他控件连用. Enabled 属性: 用于设置该Timer控件是否可用 ...

  4. timer控件、三级联动

    timer控件: 实现时间日期自增长: using System; using System.Collections.Generic; using System.ComponentModel; usi ...

  5. winform/timer控件/权限设置/三级联动

    一.timer控件 组件--timer timer是一个线程,默认可以跨线程访问对象 属性:Enabled--可用性 Interval--间隔时间 Tick:间隔时间发生事件 二.三级联动 例: pu ...

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

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

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

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

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

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

  9. 无边框窗体和timer控件

    一.无边框窗体 1.控制按钮如何制作就是放置可以点击的控件,不局限于使用按钮或是什么别的,只要放置的控件可以点击能触发点击事件就可以了 做的好看一点,就是鼠标移入(pictureBox1_MouseE ...

随机推荐

  1. 文件上传组件FileUpload 以及邮箱搭建JavaMail

     文件上传与下载 1.1 文件上传 案例: 注册表单/保存商品等相关模块! --à 注册选择头像 / 商品图片 (数据库:存储图片路径 / 图片保存到服务器中指定的目录) 文件上传,要点: 前台: 1 ...

  2. Linux学习之Vim使用

    一 为何要学Vim 所有的Unix Like系统都有自带vi编辑器 一些软件的编辑接口会自动调起vi 作为vi的升级版,vim具有程序编辑功能,而且具有代码颜色高亮显示.辨别代码的正确性等功能 以上优 ...

  3. 利用Register protocol实现网页调用桌面程序(类似迅雷、QQ等)

    前言 我们经常看到 tencent://.. thunder://     这两种开头的网址,往往觉得很奇怪,很想弄懂其中的原理,是如何实现的,我查找了相关的 资料,终于找到了,跟大家分享下. 原理篇 ...

  4. iOS 组件化

    iOS 组件化介绍 随着应用需求逐步迭代,应用的代码体积将会越来越大,为了更好的管理应用工程,我们开始借助CocoaPods版本管理工具对原有应用工程进行拆分.但是仅仅完成代码拆分还不足以解决业务之间 ...

  5. git clone操作到开发机的错误记录

    在开发机上,执行操作 $ git clone https://github.com/xxx/rank.git 返回错误: error: The requested URL returned error ...

  6. 认识J2SE

    1. J2SE的定义 J2SE:全称为Java 2 Standard Edition.Java 2平台包括:标准版(J2SE).企业版(J2EE)和微缩版(J2ME)三个版本. J2SE主要包括UI. ...

  7. [Android]使用RecyclerView替代ListView(四:SeizeRecyclerView)

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:<> [Android]使用RecyclerView替代ListView(四:SeizeRecyclerView) 在RecyclerV ...

  8. 在ASP.NET Core中使用Apworks快速开发数据服务

    不少关注我博客的朋友都知道我在2009年左右开发过一个名为Apworks的企业级应用程序开发框架,旨在为分布式企业系统软件开发提供面向领域驱动(DDD)的框架级别的解决方案,并对多种系统架构风格提供支 ...

  9. Visual Studio 2015 Professional 破解

    Visual Studio 2015 Professional 版本 破解序列号:HMGNV-WCYXV-X7G9W-YCX63-B98R2

  10. 老李推荐:第1章3节《MonkeyRunner源码剖析》概述:架构

    老李推荐:第1章3节<MonkeyRunner源码剖析>概述:架构   原理架构 MonkeyRunner使用起来非常的简单,只需要导入以下几个类基本上就能满足测试脚本编写的需求,比如: ...