C#中窗體的一些簡單運用(Sixteenth Day)
從今天開始,我們進入到學window form的知識,今天簡單的學習了一些控件和事件的運用。沒有什麼很全面的理論,所以今天就總結下所寫的程序。一個簡單的注冊頁面程序
注冊頁面程序
要求:
1:修改所有的控件Name 屬性
2: 登錄事件 檢測各個控件是否為空,如果是空 彈出注冊失敗 如果成功 則顯示新窗體 並且 新窗體上面顯示 “XXX你好! 歡迎來到雲和學院學習Net” 走馬燈形式
密碼輸入三次那麼登錄按鈕不可用 3分鐘之後可用
把注冊信息的各個數據按照 Rocky|admin|
[email protected]|18301412747|男|足球,籃球,排球”寫入到一個文本文件中
代碼:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int num = 1; //定義num是為了獲取輸入錯誤的次數
private void btnregster_Click(object sender, EventArgs e)
{
//如果達到三次則注冊按鈕將不能使用
if (num == 3)
{
this.btnregster.Enabled = false;
}
//定義字符串來接收文本數據
string user = this.txtname.Text.Trim();
string pwd = this.txtpwd.Text.Trim();
string email = this.txtemail.Text.Trim();
string phone = this.txtphone.Text.Trim();
//判斷用戶名、密碼、郵箱、手機、性別、愛好是否為空,如果為空,則提示注冊失敗,否則則提示注冊成功,進入下一個界面
if (string.IsNullOrEmpty(user))
{
MessageBox.Show("注冊失敗,未輸入用戶名!");
++num; //計時器的累加
}
else if (string.IsNullOrEmpty(pwd))
{
MessageBox.Show("注冊失敗,未輸入密碼!");
++num;
}
else if (txtaginpwd.Text != pwd)
{
MessageBox.Show("注冊失敗,確認密碼必須保持一致");
++num;
}
else if (string.IsNullOrEmpty(email))
{
MessageBox.Show("注冊失敗,未輸入郵箱");
++num;
}
else if (string.IsNullOrEmpty(phone))
{
MessageBox.Show("注冊失敗,未輸入手機號");
++num;
}
else if (cbkbasketball.Checked==false && cbkpaiqiu.Checked==false && cbkscore.Checked==false)//只有在都沒有被選中的情況下才顯示注冊失敗
{
MessageBox.Show("注冊失敗,請選擇愛好!");
++num;
}
else if (radman.Checked==false && radwomen.Checked==false )
{
MessageBox.Show("注冊失敗,請選擇性別");
++num;
}
else
{
MessageBox.Show("注冊成功");
Form2 fm = new Form2(user);//打開Form2的窗體,這裡傳入一個參數user。
fm.Show();
this.Hide(); //隱藏Form1的窗體
}
//創建一個Regster文本文檔,並寫入注冊信息,且以分隔符(|)隔開
string gender = string.Empty;
string like = string.Empty;
<br> //判斷性別被選中的是哪個,就獲取哪個的文本
if (radman.Checked == true)
{
gender = radman.Text;
}
else
{
gender = radwomen.Text;
}
//判斷愛好哪幾個被選中,則獲取選中的文本
if (this.cbkbasketball.Checked)
{
like += cbkbasketball.Text + ",";
}
if (this.cbkpaiqiu.Checked)
{
like += cbkpaiqiu.Text+",";
}
if (this.cbkscore.Checked)
{
like += cbkscore.Text+",";
}
string[] array = { txtname.Text, txtpwd.Text, txtemail.Text, txtphone.Text, gender,like };//定義一個數組來接收注冊信息的數據
string strs = string.Empty;
foreach (var item in array)
{
strs += item;
strs = string.Join("|",array);//注冊信息在文本文檔中以分隔符隔開
}
File.WriteAllText("Regster.txt", strs);//若只寫文檔名字,則默認的路徑是在本項目的bin目錄下。
}
private void btnconsole_Click(object sender, EventArgs e)//取消按鈕
{
txtname.Focus();//讓用戶名重新獲取焦點
txtname.Text = "";
txtpwd.Text = "";
txtaginpwd.Text = "";
txtemail.Text = "";
txtphone.Text = "";
radman.Checked = false;
radwomen.Checked = false;
cbkbasketball.Checked = false;
cbkpaiqiu.Checked = false;
cbkscore.Checked = false;
}
private void timer1_Tick(object sender, EventArgs e)
{
//輸入三次錯誤後,計時器停止輸入3分鐘後再重新輸入
this.btnregster.Enabled = true;
}
private void Form1_Activated(object sender, EventArgs e)
{
txtname.Focus();//首先讓用戶名文本框獲得焦點
}