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 ...
随机推荐
- Python中执行变量而非字符串
Python中执行变量而非字符串 设想这样的场景,你需要大型项目的开发.但是项目的开发第一步是啥? 当然是import导入了. ...but............ 默认 import 后面跟着字符串 ...
- linux密码修改实验
1.在单用户模式下进行引导 在不同的运行级别中,一个重要的运行级别就是单用户模式(运行级别1),该模式中,只有一个系统管理员使用特定的机器,而且尽可能少地运行系统服务,其中包含登录.单用户模式对少数管 ...
- [Python]json 错误xx is not JSON serializable
TypeError: Decimal('1457501') is not JSON serializable 在使用json的时候经常会遇到xxx is not JSON serializable, ...
- [转](译)KVO的内部实现
转载自:http://www.cocoachina.com/applenews/devnews/2014/0107/7667.html 09年的一篇文章,比较深入地阐述了KVO的内部实现. K ...
- iOS学习笔记(1)--认识Xcode6.1的Interface Builder和常用快捷键
Interface Builder基本界面 红色区域为工具栏(Tool Bar) 蓝色区域为导航区(Navigator Area) 绿色区域为编辑区(Editor Area) 黑色区域是调试区(Deb ...
- [集合]Collection集合框架源码分析
Collection接口 在java的集合类库中,基本接口是Collection,该接口的在集合中的源码定义如下(将源码中的注释删掉了): public interface Collection< ...
- Linx 的组管理和权限管理
Linux组基本介绍 在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件 有所有者.所在组.其它组的概念. 1) 所有者 2) 所在组 3) 其它组 4) 改变用户所在的组 ...
- JS 与 OC 交互
WebView与JS的几种交互 IOS中 使用JavaScriptCore 实现OC与JS的交互 JavaScriptCore 使用
- python高级(一)—— python数据模型(特殊方法)
本文主要内容 collections.namedtuple __getitem__ 和 __len__ __repr__和__str__ __abs__.__add__和__mul__ __bool_ ...
- Ant demo
<?xml version="1.0" encoding="UTF-8"?> <!-- 定义一个工程,默认任务为warFile. --> ...