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!