首先拖動一個 label(寫用戶名) 後面 跟一個Textbox
再 label(寫密碼) 後面 跟一個Textbox(需設置一下屬性—行為—useSystemPasswordChar(默認輸入的密碼為黑點))
再加Button 按鈕(text 登錄) 如下圖:
1、屬性——雜項(AcceptButton設置成Button1)就可以按回車 顯示下一個頁面
2、傳值:Login.cs[設計] 傳到 Main.cs[設計] 裡一個值 用構造方法:1、在Main.cs[設計] 裡拖一個Lable來准備接收
再在Main.cs裡重載一個方法:
再在Login.cs裡來接收:——造主窗體對象時 Main m=new Main(uid)
雙擊登錄 加一個事件:
數據操作類如下:
public partial class Login : Form
{
public string username;
public Login()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//先取出用戶名 密碼
//定義變量取到用戶名、密碼
string uid= textuid.Text;
string pwd= textpwd.Text;
//再判斷uid是不是空的
if (uid != "" && pwd != "")
{
//都不為空時再來判斷 uid pwd 是不是匹配
//操作數據庫 做三個類
LoginDA da = new LoginDA();//調用方法前先造一個對象
da.Denglu(uid,pwd);//調用第三個類裡的方法,傳兩個參數過來
if (da.Denglu(uid, pwd))//判斷
{
//登錄之後,關閉登錄頁面,只顯示Main頁面,Main成為主窗體
//將用戶名賦值給成員變量username
username = uid;
//將該窗體的返回值變為OK 三步
this.DialogResult = DialogResult.OK;
//將該窗體關閉
this.Close();
}
else
{
MessageBox.Show("用戶名或密碼錯誤!");
}
}
else
{
//如果是空
MessageBox.Show("用戶名和密碼不能為空!");
}
}
需改動:program.cs
下拉列表:
public partial class Main : Form
{
private ZgDA cda;
public Main()
{
InitializeComponent();
}
public Main(string username)//重載了一個Main方法
{
InitializeComponent();
cda = new ZgDA();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void Main_Load(object sender, EventArgs e)
{
//填充省的下拉列表
Fillsheng();
//填充市的下拉列表
Fillshi();
//填充區的下拉列表
Fillqu();
}
private void cmbsheng_SelectedIndexChanged(object sender, EventArgs e)
{
//填充市的下拉列表
Fillshi();
}
private void cmbshi_SelectedIndexChanged(object sender, EventArgs e)
{
//填充區的下拉列表
Fillqu();
}
public void Fillsheng()//填充省的方法
{
List<Zg> List= cda.select("0001");//根據父級代號查到該父級下所有的子集的集合
cmbsheng.DataSource = List;//把查到的集合交給省的下拉作為數據源
cmbsheng.DisplayMember = "Name";//顯示民族名稱
cmbsheng.ValueMember = "Code";//後台值是民族代號
}
public void Fillshi()//填充市的方法
{
List<Zg> List = cda.select(cmbsheng.SelectedValue.ToString());//選中哪個省就取到哪個省的代號
cmbshi.DataSource = List;//把查到的集合交給市的下拉作為數據源
cmbshi.DisplayMember = "Name";//顯示民族名稱
cmbshi.ValueMember = "Code";//後台值是民族代號
}
public void Fillqu()//填充市的方法
{
List<Zg> List = cda.select(cmbshi.SelectedValue.ToString());//選中哪個省就取到哪個省的代號
cmbqu.DataSource = List;//把查到的集合交給市的下拉作為數據源
cmbqu.DisplayMember = "Name";//顯示民族名稱
cmbqu.ValueMember = "Code";//後台值是民族代號
}
}
}