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 包加载的支持,使得小 ...
随机推荐
- Windows Azure Marketplace 为新增的 50 个国家/地区提供,并推出了令人振奋的新增内容,包括我们自己的 Bing 光学字符识别服务
尊敬的 Windows Azure Marketplace 用户: 我们有一些让人激动的新闻与您分享:我们现在为新增的 50 个国家/地区提供 Marketplace.自此,我们提供支持的国家/地区总 ...
- uber在限制新司机加入了,看看新政策把
您可以点击“车主奖励分组查询”输入您在系统注册的手机号查询您所在奖励分组 5月25日-5月31日 奖励明细 1. 成都优步合作车主第一组 奖励政策: (账户激活时间在2015年5月29日之前) *以下 ...
- 新iPhone开售现场:土豪金火了
今日苹果在全球范围内开始正式发售iPhone 5s与5c手机.在中国王府井苹果零售店,首位购机者李先生在今早4点50分便在此等候. 现场未发现黄牛 本次苹果在中国大陆的自有零售店渠道首批iPhone ...
- Swift初体验(三)
/*******************************************************************************/ // 协议 protocol Des ...
- JavaScript继承的实现
怎样在JavaScript中实现简单的继承? 以下的样例将创建一个雇员类Employee,它从Person继承了原型prototype中的全部属性. function Employee(name, ...
- [置顶] PHP如何扩展和如何在linux底层对php扩展?
虽然大部分php工程师都不需要知道php的C代码核心是如何运作的,有些人可能知道有个dl()函数.或者使用过一些第三方的类库,这些正是本文的重点之一. 希望对那些想把php带向更 ...
- C++_知识点_namespace
#include <iostream> #include <string> using namespace std; void name() { cout << & ...
- leetcode Integer to Roman python
class Solution(object): def intToRoman(self, num): """ :type num: int :rtype: str &qu ...
- 使用Integer类实现二叉树排序
class BinaryTree { class Node { private Comparable data; private Node left; ...
- java新特性之可变参数
public class NewDemo01 { public static void main(String[] args) { System.out.print(" ...