今天主要复习了一下昨天学习的窗体小程序。主要会运用到控件的一些基本属性。

程序:

走马灯(要求是:使用两个窗体,两个窗体之间要传值,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)的更多相关文章

  1. 类似微信聊天小程序-网易云信,IM DEMO小程序版本

    类似微信聊天小程序-网易云信,IM DEMO小程序版本 代码地址: https://github.com/netease-im/NIM_Web_Weapp_Demo 云信IM DEMO 小程序版本 ( ...

  2. vue中的绑定class和微信小程序中的绑定class的区别

    微信小程序 小程序里面的class与style绑定,遵循HTML特性绑定,有关于HTML绑定.在进行class与style绑定时,可以直接绑定,也可以带上逻辑与,或者三元运算进行条件控制 JS dat ...

  3. 一个类似repo的小程序

    #! /usr/bin/env python # -*- coding: utf-8 -*- # usage : python EasyRepo.py -u "13051041" ...

  4. 微信小程序中的bindTap事件(微信小程序开发QQ群:604788754)

    bindTap对应的绑定事件, 第一个:wx.navigateTo wx.navigateTo({ url:"../content/content" }) 第二个:wx.redir ...

  5. 微信小程序在开发中遇到的问题与解决方法

    1.  √ 这种错误多半是该js文件中没有Page这个方法,就算是空的js也必须要把Page({ })写上去 2.  √ 这种错误多半是该json文件没有内容,所以必须要加上{ },就算是空内容也要加 ...

  6. 小程序开发过程中常见问题[微信小程序、支付宝小程序]

    目录 一.样式中如何使用background-image呢? 二.使用自适应单位rpx类似于rem,布局尽量使用flex布局 三.万能的{{双大括号,用于在模版中输出变量 四.你想要的基础组件和API ...

  7. 微信小程序开发教程 #043 - 在小程序开发中使用 npm

    本文介绍了如何在微信小程序开发中使用 npm 中包的功能,大大提高微信小程序的开发效率,同时也是微信小程序系列教程的视频版更新. 微信小程序在发布之初没有对 npm 的支持功能,这也是目前很多前端开发 ...

  8. 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理

    [微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...

  9. 在小程序开发中使用 npm

    微信小程序在发布之初没有对 npm 的支持功能,这也是目前很多前端开发人员在熟悉了 npm 生态环境后,对微信小程序诟病的地方. 微信小程序在 2.2.1 版本后增加了对 npm 包加载的支持,使得小 ...

随机推荐

  1. 5.java.lang.IndexOutOfBoundsException(数组下标越界异常)

    数组下标越界异常 查看调用的数组或者字符串的下标值是不是超出了数组的范围,一般来说,显示(即直接用常数当下标)调用不太容易出这样的错,但隐式(即用变量表示下标)调用就经常出错了,还有一种情况,是程序中 ...

  2. 将Python代码嵌入C++程序进行编写

    将Python代码嵌入C++程序进行编写的实例,python嵌入 把python嵌入的C++里面需要做一些步骤 安装python程序,这样才能使用python的头文件和库 在我们写的源文件中增加“Py ...

  3. Copy an serializable object deeply

    http://www.java2s.com/Tutorial/Java/0100__Class-Definition/Copyanserializableobjectdeeply.htm http:/ ...

  4. ECSHOP 模版文件里的编辑区域

    Ecshop 中的模板能够有可编辑区域,在模板中是通过 <!-- TemplateBeginEditable name="左边区域" --> <!-- Templ ...

  5. Bower前端包管理器

    bower 前端包管理器 为什么要用它 一个新的web项目开始,我们总是很自然地去下载需要用到的js类库文件,比如jQuery.随着项目的进展,我们可能又需要Bootstrap3,其中每个框架之间的依 ...

  6. 根据输出设置select的被选中值

    $("#startupStatus").find("option").map(function(i) { if ($('#st-status').val() = ...

  7. CRM需要注意的一些事,修改字段类型

    crm字段类型如果变了,比如文本类型变为查找类型,要新建命名跟原来不一样,千万不能删除以前的字段再建原来的一样的,那样如果导到正式系统会造成无法导入,执行sql失败, 切记切记.可以字段名后加2,或者 ...

  8. (转)ios限制控制器旋转

    iOS屏幕旋转控制 iOS屏幕旋转控制(iOS6之后)       iOS6之前,子控制器只要覆盖父类的shouldAutorotateToInterfaceOrientation:方法就能单独控制某 ...

  9. C学习之指针强化

    char *p = (char *)malloc(100); malloc是用于分配内存的函数,它的参数为int型,表示分配多少个字节长度,其返回类型为void*,在这里用char*就是强制转化,指定 ...

  10. Mysql笔记之 -- 小试MYSQL主从配置

    mysql主从配置: 硬件: 两台服务器 1.Ubuntu 12.04.4 LTS (GNU/Linux 3.2.0-60-generic-pae i686)  2.Ubuntu 12.04.4 LT ...