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);
}
}
}
三、权限设置
所谓权限设置就是根据登录用户帐号的不同,该帐号对应显示的操作功能不同
实现方法:在数据库的用户表中增加字段进行权限的区分,根据从数据库表中查询到的数据进行相应的
timer控件、三级联动、帐号激活权限设置的更多相关文章
- 【2017-05-05】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控件
timer 控件:按用户定义的时间间隔引发的事件 属性: Enabled 是否启用: Interval 事件发生的事件间隔,单位是毫秒 事件只有一个:Tick 事件经过指定的时间间隔 ...
- WinForm timer 控件
timer 控件:按用户定义的时间间隔引发的事件 属性: Enabled 是否启用: Interval 事件发生的事件间隔,单位是毫秒 事件只有一个:Tick 事件经过指定的时间间隔发生 打开一个窗口 ...
随机推荐
- windows安装mongodb服务简洁版教程
根据网上安装教程,简单总结如下: 1.去mongodb官网下载电脑系统对应版本的软件,比如我的是windows 64位的,就选择64位的,可能下载下来之后文件夹上面显示的是win32,这个不用理会: ...
- Springboot多数据源配置--数据源动态切换
在上一篇我们介绍了多数据源,但是我们会发现在实际中我们很少直接获取数据源对象进行操作,我们常用的是jdbcTemplate或者是jpa进行操作数据库.那么这一节我们将要介绍怎么进行多数据源动态切换.添 ...
- JS -- serializeJSON
http://www.cnblogs.com/linzenews/p/7065050.html
- PHP实现今天是星期几
echo "今天是星期" . mb_substr( "日一二三四五六",date("w"),1,"utf-8" );
- codechef cook 103 div2
第一次打codechef...不太会用这oj. A: #include <bits/stdc++.h> #define mk(a,b) make_pair(a,b) #define pii ...
- StreamSocket
转载自:http://blog.csdn.net/yuanguozhengjust/article/details/19175085 StreamSocket的基本流程和一般的Socket通信操作类似 ...
- CString 成员函数用法
参考文档:http://www.cnblogs.com/Caiqinghua/archive/2009/02/16/1391190.html CString的构造函数CString( );例:CStr ...
- html的空格和换行显示
一.HTML 代码中的所有连续的空格或空行(换行)都会被显示为一个空格,不管是内容还是标签之间. 二.当我们想让它们在同一行连续显示时,就让所有的代码之间没有空格,也不要换行. 三.当我们想要显示连续 ...
- Android基础总结+SQlite数据库【申明:来源于网络】
Android基础总结+SQlite数据库[申明:来源于网络] 基础总结篇之一:Activity生命周期:http://blog.csdn.net/liuhe688/article/details/6 ...
- js隐藏中间4位,变成‘*’号
var tel = "15222622548"; var reg = /^(\d{3})\d{4}(\d{4})$/; tel = tel.replace(reg, "$ ...