C#中“走马灯”和类似“打地鼠”的小程序(Seventeenth Day)
今天主要复习了一下昨天学习的窗体小程序。主要会运用到控件的一些基本属性。
程序:
走马灯(要求是:使用两个窗体,两个窗体之间要传值,Form1传值给Form2,传入的字符串在Form2窗体上横向滚动)
* 首先是设定界面(txtname,txtpwd。第二个文本框txtname设置它的UseSystemPasswordChar属性为true,MaxLength设为6)
文本框的属性:UseSystemPasswordChar 指示编辑控件中的文本是否以默认的密码字符(“●”)显示。
PasswordChar 指示将为单行编辑控件的密码输入显示的字符。(你可以任意输入想要显示的密码字符,比如 *,?)
MaxLength 指定可以在编辑控件中输入的最大字符数
Timer控件的属性:主要是将Enabled属性设为True;Interval(事件的频率,以毫秒为单位)设为500;这里主要用来控制用户登录的次数,若超过三次,则等待500毫秒后才可以重新输入

Form1窗体的主要代码:
private void Form1_Activated(object sender, EventArgs e)
{
this.txtuser.Focus();
}
int i = 0;
private void btnlogin_Click(object sender, EventArgs e)
{
string user = this.txtuser.Text.Trim();
string pwd = this.txtpwd.Text.Trim();
if (i>=3)
{
btnlogin.Enabled = false;
}
if (string.IsNullOrEmpty(user))
{
MessageBox.Show("用户名不正确,请重新输入");
++i;
}
else if (string.IsNullOrEmpty(pwd))
{
MessageBox.Show("密码不能为空,请重新输入");
++i;
}
Form2 fm = new Form2(user);
fm.Show();
this.Hide();//隐藏窗体
} }
private void timer1_Tick(object sender, EventArgs e)
{
btnlogin.Enabled = true;
}
Form2窗体的界面,定义一个Label控件来接收由Form1传来的值(用户名)
这里Timer控件的作用是来控制字符串滚动的速度。

代码是:
string name = string.Empty;
public Form2(string users)
{
InitializeComponent();
name = users + "您好,welcome to china ";
}
private void timer1_Tick(object sender, EventArgs e)
{
name = name.Substring(1) + name.Substring(0, 1);
this.lblname.Text = name;
}
private void btnclose_Click(object sender, EventArgs e)
{
this.Close();
}
实现效果:

类似“打地鼠”的小程序
Form初始界面,添加了一个button按钮。

主要代码:

运行效果

好了,今天就先暂时学到这里了,经过这两天的学习感觉windows form窗体程序比控制台简单些,可能是因为在学校里我们基本上学的就是在窗体上通过拖控件来完成的一些小程序,很少学控制台程序。正因为这,以后我要更加努力学好了。加油,Enze!
C#中“走马灯”和类似“打地鼠”的小程序(Seventeenth Day)的更多相关文章
- 类似微信聊天小程序-网易云信,IM DEMO小程序版本
类似微信聊天小程序-网易云信,IM DEMO小程序版本 代码地址: https://github.com/netease-im/NIM_Web_Weapp_Demo 云信IM DEMO 小程序版本 ( ...
- vue中的绑定class和微信小程序中的绑定class的区别
微信小程序 小程序里面的class与style绑定,遵循HTML特性绑定,有关于HTML绑定.在进行class与style绑定时,可以直接绑定,也可以带上逻辑与,或者三元运算进行条件控制 JS dat ...
- 一个类似repo的小程序
#! /usr/bin/env python # -*- coding: utf-8 -*- # usage : python EasyRepo.py -u "13051041" ...
- 微信小程序中的bindTap事件(微信小程序开发QQ群:604788754)
bindTap对应的绑定事件, 第一个:wx.navigateTo wx.navigateTo({ url:"../content/content" }) 第二个:wx.redir ...
- 微信小程序在开发中遇到的问题与解决方法
1. √ 这种错误多半是该js文件中没有Page这个方法,就算是空的js也必须要把Page({ })写上去 2. √ 这种错误多半是该json文件没有内容,所以必须要加上{ },就算是空内容也要加 ...
- 小程序开发过程中常见问题[微信小程序、支付宝小程序]
目录 一.样式中如何使用background-image呢? 二.使用自适应单位rpx类似于rem,布局尽量使用flex布局 三.万能的{{双大括号,用于在模版中输出变量 四.你想要的基础组件和API ...
- 微信小程序开发教程 #043 - 在小程序开发中使用 npm
本文介绍了如何在微信小程序开发中使用 npm 中包的功能,大大提高微信小程序的开发效率,同时也是微信小程序系列教程的视频版更新. 微信小程序在发布之初没有对 npm 的支持功能,这也是目前很多前端开发 ...
- 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理
[微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...
- 在小程序开发中使用 npm
微信小程序在发布之初没有对 npm 的支持功能,这也是目前很多前端开发人员在熟悉了 npm 生态环境后,对微信小程序诟病的地方. 微信小程序在 2.2.1 版本后增加了对 npm 包加载的支持,使得小 ...
随机推荐
- UltraISO制作U盘系统安装盘(图文教程)
虽然现在的系统盘做的越来越傻瓜化,安装方法也非常多,但是仍然时常有朋友询问怎么安装系统,特别是没有刻录机或不想刻盘,又不懂硬盘安装的朋友,这里特别介绍一种用U盘来安装系统的方法,非量产,量产因U盘芯片 ...
- 关于调用约定(cdecl、fastcall、、thiscall) 的一点知识(用汇编来解释)good
函数调用规范 当高级语言函数被编译成机器码时,有一个问题就必须解决:因为CPU没有办法知道一个函数调用需要多少个.什么样的参数.即计算机不知道怎么给这个函数传递参数,传递参数的工作必须由函数调用者 ...
- 数据库CRUD操作
CRUD操作: C:create 增加数据: insert into 表名 values('N001','汉族') 普通 insert into 表名 values('','','') 如果有自增长列 ...
- Mongodb数据库命令端经常使用操作
数据库基本命令操作 数据库经常使用命令 1.Help查看命令提示 help db.help(); db.yourColl.help(); db.youColl.find().help(); rs.he ...
- paip.c++ qt messagebox用法
paip.c++ qt messagebox用法 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net ...
- VS2010 打包问题汇总
问题1:打包时:应将msadox28.tlb排除 ,受到windows系统文件保护 解决方案:文件选项上,选择排除即可. 问题2:路径有文件,生成报错,提示找不到文件或文件被锁定. 解决方案:文件被锁 ...
- select2简单例子
1.html中静态值 html <%--multiple 为多选--%> <select multiple id="e1"> <option>& ...
- PDF417码制尺寸定义
PDF417码制尺寸定义 1.模块宽度(X)不得小于0.191mm,你们目前所用300dpi打印机点的尺寸是0.084 mm * 0.01 mm,可 三倍以上值 2.条 ...
- aJax学习之Ajax工作原理
转自:http://www.cnblogs.com/mingmingruyuedlut/archive/2011/10/18/2216553.html 在写这篇文章之前,曾经写过一篇关于AJAX技术的 ...
- thinkPHP的常用配置项
'URL_PATHINFO_DEPR'=>'-',//修改URL的分隔符 'TMPL_L_DELIM'=>'<{', //修改左定界符 'TMPL_R_DELIM'=>'}&g ...