【2017-05-05】timer控件、三级联动、帐号激活权限设置
一、Timer控件
Timer实际就是一个线程控件。
属性:Enabled 是否被启用
Interval 多长时间执行一次控件中的代码
事件: Tick 事件中放要执行的代码。
利用Timer控件可以实现即时聊天功能。动态的从数据库查询别人发的信息展示到聊天框中。
二、三级联动
实体类
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace WindowsFormsApplication2
- {
- public class China
- {
- private string _AreaCode;
- public string AreaCode
- {
- get { return _AreaCode; }
- set { _AreaCode = value; }
- }
- private string _AreaName;
- public string AreaName
- {
- get { return _AreaName; }
- set { _AreaName = value; }
- }
- private string _ParentAreaCode;
- public string ParentAreaCode
- {
- get { return _ParentAreaCode; }
- set { _ParentAreaCode = value; }
- }
- }
- }
数据操作类:
- using System;
- using System.Collections.Generic;
- using System.Data.SqlClient;
- using System.Linq;
- using System.Text;
- namespace WindowsFormsApplication2
- {
- public class ChinaData
- {
- SqlConnection conn = null;
- SqlCommand cmd = null;
- public ChinaData()
- {
- conn = new SqlConnection("server=.;database=Data0216;user=sa;pwd=123");
- cmd = conn.CreateCommand();
- }
- //通过一个父级编号,查询该父级编号对应的地区,放到一个集合中去。
- public List<China> Select(string pcode)
- {
- List<China> clist = new List<China>();
- cmd.CommandText = "select *from ChinaStates where ParentAreaCode = @a";
- cmd.Parameters.Clear();
- cmd.Parameters.AddWithValue("@a", pcode);
- conn.Open();
- SqlDataReader dr = cmd.ExecuteReader();
- while (dr.Read())
- {
- China c = new China();
- c.AreaCode = dr[].ToString();
- c.AreaName = dr[].ToString();
- c.ParentAreaCode = dr[].ToString();
- clist.Add(c);
- }
- conn.Close();
- return clist;
- }
- }
- }
后台代码
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- namespace WindowsFormsApplication2
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- //调用方法绑定所有省
- Bind("", comboBox1);
- //绑定所有选中省下面的市,selectvalue是绑定数据源给程序看的value中的选中的内容,和数据库有关。
- Bind(comboBox1.SelectedValue.ToString(), comboBox2);
- //绑定所有选中市下面的区县
- Bind(comboBox2.SelectedValue.ToString(), comboBox3);
- }
- //数据绑定方法(给我一个地区父级编号,绑定到相应的Combox中去),需要一个地区父级编号和一个Combox对象两个参数
- public void Bind(string pcode, ComboBox cb)
- {
- //给一个父级编号,把该父级编号查到的地区放到集合clist中去
- List<China> clist = new ChinaData().Select(pcode);
- //绑定Combox的数据源
- cb.DataSource = clist;
- cb.DisplayMember = "AreaName";
- cb.ValueMember = "AreaCode";
- }
- //Combox1选中内容改变时,Combox2和Combox3中的数据源相应的改变。
- private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
- {
- Bind(comboBox1.SelectedValue.ToString(), comboBox2);
- if (comboBox2.SelectedValue != null)
- {
- Bind(comboBox2.SelectedValue.ToString(), comboBox3);
- }
- }
- //Combox2中选中内容改变时,Combox3中的数据源响应的改变。
- private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
- {
- Bind(comboBox2.SelectedValue.ToString(), comboBox3);
- }
- }
- }
三、权限设置
所谓权限设置就是根据登录用户帐号的不同,该帐号对应显示的操作功能不同
实现方法:在数据库的用户表中增加字段进行权限的区分,根据从数据库表中查询到的数据进行相应的
【2017-05-05】timer控件、三级联动、帐号激活权限设置的更多相关文章
- timer控件、三级联动、帐号激活权限设置
一.Timer控件 Timer实际就是一个线程控件. 属性:Enabled 是否被启用 Interval 多长时间执行一次控件中的代码 事件: Tick 事件中放要执行的代码. ...
- 10、面向对象以及winform的简单运用(isMdicontainer的设置、timer控件进行倒计时的制作)
IsMdicontainer的设置 这是对于整个窗体的设置,将一个窗体的IsMdicontainer设置为true之后,再打开新窗体便可以让新窗体被父容器包括在内. 操作方法: 1)先建立一个子窗体C ...
- C# Timer 控件的用法
一.主要的属性 在 Windows 窗体应用程序中,定时器控件(Timer)与其他的控件略有不同,它并不直接显示在窗体上,而是与其他控件连用. Enabled 属性: 用于设置该Timer控件是否可用 ...
- timer控件、三级联动
timer控件: 实现时间日期自增长: using System; using System.Collections.Generic; using System.ComponentModel; usi ...
- winform/timer控件/权限设置/三级联动
一.timer控件 组件--timer timer是一个线程,默认可以跨线程访问对象 属性:Enabled--可用性 Interval--间隔时间 Tick:间隔时间发生事件 二.三级联动 例: pu ...
- winform 用户控件、 动态创建添加控件、timer控件、控件联动
用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...
- winform用户控件、动态创建添加控件、timer控件、控件联动
用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...
- WinForm用户控件、动态创建添加控件、timer控件--2016年12月12日
好文要顶 关注我 收藏该文 徐淳 关注 - 1 粉丝 - 3 0 0 用户控件: 通过布局将多个控件整合为一个控件,根据自己的需要进行修改,可对用户控件内的所有控件及控件属性进行修 ...
- 无边框窗体和timer控件
一.无边框窗体 1.控制按钮如何制作就是放置可以点击的控件,不局限于使用按钮或是什么别的,只要放置的控件可以点击能触发点击事件就可以了 做的好看一点,就是鼠标移入(pictureBox1_MouseE ...
随机推荐
- 文件上传组件FileUpload 以及邮箱搭建JavaMail
文件上传与下载 1.1 文件上传 案例: 注册表单/保存商品等相关模块! --à 注册选择头像 / 商品图片 (数据库:存储图片路径 / 图片保存到服务器中指定的目录) 文件上传,要点: 前台: 1 ...
- Linux学习之Vim使用
一 为何要学Vim 所有的Unix Like系统都有自带vi编辑器 一些软件的编辑接口会自动调起vi 作为vi的升级版,vim具有程序编辑功能,而且具有代码颜色高亮显示.辨别代码的正确性等功能 以上优 ...
- 利用Register protocol实现网页调用桌面程序(类似迅雷、QQ等)
前言 我们经常看到 tencent://.. thunder:// 这两种开头的网址,往往觉得很奇怪,很想弄懂其中的原理,是如何实现的,我查找了相关的 资料,终于找到了,跟大家分享下. 原理篇 ...
- iOS 组件化
iOS 组件化介绍 随着应用需求逐步迭代,应用的代码体积将会越来越大,为了更好的管理应用工程,我们开始借助CocoaPods版本管理工具对原有应用工程进行拆分.但是仅仅完成代码拆分还不足以解决业务之间 ...
- git clone操作到开发机的错误记录
在开发机上,执行操作 $ git clone https://github.com/xxx/rank.git 返回错误: error: The requested URL returned error ...
- 认识J2SE
1. J2SE的定义 J2SE:全称为Java 2 Standard Edition.Java 2平台包括:标准版(J2SE).企业版(J2EE)和微缩版(J2ME)三个版本. J2SE主要包括UI. ...
- [Android]使用RecyclerView替代ListView(四:SeizeRecyclerView)
以下内容为原创,欢迎转载,转载请注明 来自天天博客:<> [Android]使用RecyclerView替代ListView(四:SeizeRecyclerView) 在RecyclerV ...
- 在ASP.NET Core中使用Apworks快速开发数据服务
不少关注我博客的朋友都知道我在2009年左右开发过一个名为Apworks的企业级应用程序开发框架,旨在为分布式企业系统软件开发提供面向领域驱动(DDD)的框架级别的解决方案,并对多种系统架构风格提供支 ...
- Visual Studio 2015 Professional 破解
Visual Studio 2015 Professional 版本 破解序列号:HMGNV-WCYXV-X7G9W-YCX63-B98R2
- 老李推荐:第1章3节《MonkeyRunner源码剖析》概述:架构
老李推荐:第1章3节<MonkeyRunner源码剖析>概述:架构 原理架构 MonkeyRunner使用起来非常的简单,只需要导入以下几个类基本上就能满足测试脚本编写的需求,比如: ...