2017年11月30日 C#TreeNode递归&邮箱验证&新用户窗体
TreeNode递归
递归:自己调用自己一层一层的把数据找出来
TreeNode:可以创建多个节点
private void button1_Click(object sender, EventArgs e)
{
dataBind("", treeView1.Nodes);
} public void dataBind(string code, TreeNodeCollection tnc)
{
foreach (ChinaStates cs in list)
{
if (cs.ParentAreaCode == code)
{
TreeNode tn = new TreeNode(cs.AreaName);
tn.Tag = cs.AreaCode; dataBind(cs.AreaCode, tn.Nodes); tnc.Add(tn);
}
}
} string tname = ""; private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
tname = "";
getData(treeView1.SelectedNode);
MessageBox.Show(tname.Substring(, tname.Length - ));
} public void getData(TreeNode tn)
{
if (tn.Parent != null)
{
getData(tn.Parent);
}
tname += tn.Text + " | ";
}
邮箱验证(往邮箱里发验证码)
首先要引用命名空间
using System.Net;
using System.Net.Mail;
然后在按钮里面写点击事件或者在别的里面写点击事件也可以
//创建一个空的字符串
string a = "";
private void skinButton1_Click(object sender, EventArgs e)
{
//创建服务器对象
SmtpClient smt = new SmtpClient("这里是域名");
//创建发件人对象
MailAddress my = new MailAddress("这里是发件人的邮箱");
//创建收件人对象
MailAddress you = new MailAddress("这里是收件人的邮箱");
//创建邮件的对象,构造函数中传入发件人和收件人
MailMessage mail = new MailMessage(my, you);//最后扔进这里面去
//设置邮箱标题
mail.Subject = "这是标题";
//创建随机验证码
string a1 = "abcdefghigklmnopqrstuvwxyzABCDEFGHIKIMNOPQRSTUVWXYZ0123456789";
Random b = new Random();
for (int i = ; i <= ; i++)
{
a += a1.Substring(b.Next(, a1.Length), );
}
//设置邮箱内容
mail.Body = "验证码为:" + a;
//创建互联网安全证书
NetworkCredential nwcd = new NetworkCredential("发件人邮箱", "发件人邮箱的密码");
//将证书绑定到服务器对象上,服务器验证
smt.Credentials = nwcd;
//发送验证码
smt.Send(mail);
//判断是否能走到这个地方,走到了就表示发送成功
MessageBox.Show("发送成功!");
} private void skinButton2_Click(object sender, EventArgs e)
{ //利用第二个TextBox判断是否输入的验证码正确
if (skinTextBox2.Text == a)
{
MessageBox.Show("验证成功");
}
else
{
MessageBox.Show("失败");
}
}
Timer控件
可以在用户点击完获取验证码之后开启倒计时
private void timer1_Tick(object sender, EventArgs e)
{
time--;
button2.Text = "发送(" + time.ToString() + ")"; if (time <= )
{
button2.Text = "发送";
button2.Enabled = true;
timer1.Enabled = false;
}
}
新用户窗体
直接在解决方案下添加用户窗体即可,注:用户窗体里面的Designer.cs组件设计器生成的代码下面的private一定要改成pubilc
剩下的直接调用即可.
2017年11月30日 C#TreeNode递归&邮箱验证&新用户窗体的更多相关文章
- 11月30日《奥威Power-BI智能分析报表制作方法》腾讯课堂开课啦
这么快一周就过去了,奥威公开课又要与大家见面咯,上节课老师教的三种报表集成方法你们都掌握了吗?大家都知道,学习的结果在于实际应用,想要熟练掌握新内容的要点就在于去应用它.正是基于这一要点,每一期的课程 ...
- 2016年11月30日 星期三 --出埃及记 Exodus 20:21
2016年11月30日 星期三 --出埃及记 Exodus 20:21 The people remained at a distance, while Moses approached the th ...
- WPS 表格筛选两列相同数据-完美-2017年11月1日更新
应用: 1.选出A列中的数据是否在B列中出现过: 2.筛选出某一批序号在一个表格里面的位置(整批找出) 3.其实还有其他很多应用,难描述出来... ... A列中有几百的名字,本人想帅选出B列中的名字 ...
- 北京Uber优步司机奖励政策(11月30日~12月4日)
用户组:人民优步(适用于12月1日)奖励政策: 滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:htt ...
- Python 爬虫练习(二)爬取补天公益SRC厂商域名URL (2017年11月22日)
介绍下: 补天是国内知名的漏洞响应平台,旨在企业和白帽子共赢. 白帽子在这里提交厂商漏洞,获得库币和荣誉,厂商从这里发布众测.获取漏洞报告和修复建议. 在2017年3月份之前,补天的厂商域名URL是非 ...
- [svc]linux常用手头命令-md版-2017年11月12日 12:31:56
相关代码 curl命令-网站如果3次不是200或301则报警 curl -o /dev/null -s -w "%{http_code}" baidu.com -k/--insec ...
- Saving James Bond - Easy Version 原创 2017年11月23日 13:07:33
06-图2 Saving James Bond - Easy Version(25 分) This time let us consider the situation in the movie &q ...
- 2015年11月30日 spring初级知识讲解(一)装配Bean
序,Spring的依赖注入是学习spring的基础.IOC为控制反转,意思是需要的时候就由spring生成一个,而不是先生成再使用. 写在前面 Spring提供面向接口编程,面向接口编程与依赖注入协作 ...
- 2017年11月1日 初学者易上手的SSH-spring 01控制反转(IOC)
这章开始学习SSH中最后的一个框架spring.Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用. 首先就来学习一下I ...
随机推荐
- 转载-----Java Longest Palindromic Substring(最长回文字符串)
转载地址:https://www.cnblogs.com/clnchanpin/p/6880322.html 假设一个字符串从左向右写和从右向左写是一样的,这种字符串就叫做palindromic st ...
- navicat 导入txt到数据库
一直都是建库 一条条添加数据 昨天碰上要导入一堆数据突然不知所措 查资料才弄好,先记录一下,以免忘记 这个是导入的数据名可以改 对导入数据表进行增删改 以上!
- 算法 PK 猫咪 | 章鱼保罗后继竟然是只猫?
简评:一只名叫阿喀琉斯(Achilles)的白猫一边小声叫着,一边慵懒地在分别插有俄罗斯和沙特阿拉伯国旗的食盆间踱步.这只看起来并不出众的小猫住在俄罗斯圣彼得堡埃尔米塔日博物馆(State Hermi ...
- python3入门之集合set
之前介绍python的数据结构时,没有介绍set(集合)现在在这里稍微介绍下: set原理 Python 还 包 含 了 一 个 数 据 类 型-- set ( 集 合 ) . 集 合 是 一 个 无 ...
- 程序设计中的dry原则
DRY:dont repeat yourself 假设一个逻辑(代码块)会重复两次或者以上,应该写成函数被调用 为什么呢,实际上,我们处处可见重复性的代码.这除了增加工作量之外,还会增加维护难度. d ...
- HTTP请求处理流程-SpringMvc
1.在SpringMVC的http请求处理过程中,包括了前端控制器(DispatcherServlet).处理映射器(HandlerMapping).处理适配器(HandlerAdapter).处理器 ...
- Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名
Oracle数据库,用mybatic批量插入数据: <insert id="saveBatch" parameterType="io.renren.entity.N ...
- Little Sub and Traveling(杭师大第十二届校赛E题) 欧拉回路
题目传送门 题目大意: 从0出发,每次只能跳到(i*2)%n或者(i*2+1)%n,求字典序最大的哈密顿回路. 思路: 首先n为奇数时无解,先来证明这一点. 先假设n为奇数,若要回到原点,则必定有一步 ...
- springMVC中一些功能
1.controller的生命周期 spring框架默认为单例模式,会使数据之间的传递互相影响,而springMVC给我们提供了request与session两个,request每次请求就会产生一个单 ...
- springboot 接口返回数据时 net.sf.json.JSONNull["empty"]) 异常
@ResetController返回数据时出现异常 Could not write JSON: Object is null; nested exception is com.fasterxml.ja ...