登录和下拉列表
簡(jiǎn)單登錄:
需要用到數(shù)據(jù)庫(kù)里的 ?login 表,根據(jù)這個(gè)用戶表 輸入用戶名和密碼 來(lái)判斷這個(gè)用戶名和密碼是否匹配,
匹配會(huì)登錄 ?不匹配...
首先拖動(dòng)一個(gè) ?lable(寫用戶名) ?后面 跟一個(gè)Textbox
? ? ? ? ? ? ? ? ?再lable(寫密碼)?后面 跟一個(gè)Textbox(需設(shè)置一下屬性—行為—useSystemPasswordChar(默認(rèn)輸入的密碼為黑點(diǎn)))
? ? ? ? ? ? ? ? ? 再加Button 按鈕(text 登錄) ? ?如下圖:
1、屬性——雜項(xiàng)(AcceptButton設(shè)置成Button1)就可以按回車 ?顯示下一個(gè)頁(yè)面
2、傳值:Login.cs[設(shè)計(jì)] 傳到 Main.cs[設(shè)計(jì)] 里一個(gè)值 ? ? 用構(gòu)造方法:1、在Main.cs[設(shè)計(jì)] 里拖一個(gè)Lable來(lái)準(zhǔn)備接收
再在Main.cs里重載一個(gè)方法:
?
再在Login.cs里來(lái)接收:——造主窗體對(duì)象時(shí) ? Main m=new Main(uid)
?
雙擊登錄 加一個(gè)事件:
?
?
?
數(shù)據(jù)操作類如下:
?
?
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 != "")
{
//都不為空時(shí)再來(lái)判斷 uid pwd 是不是匹配
//操作數(shù)據(jù)庫(kù) 做三個(gè)類
LoginDA da = new LoginDA();//調(diào)用方法前先造一個(gè)對(duì)象
da.Denglu(uid,pwd);//調(diào)用第三個(gè)類里的方法,傳兩個(gè)參數(shù)過(guò)來(lái)
if (da.Denglu(uid, pwd))//判斷
{
//登錄之后,關(guān)閉登錄頁(yè)面,只顯示Main頁(yè)面,Main成為主窗體
//將用戶名賦值給成員變量username
username = uid;
//將該窗體的返回值變?yōu)镺K ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 三步
this.DialogResult = DialogResult.OK;
//將該窗體關(guān)閉
this.Close();
}
else
{
MessageBox.Show("用戶名或密碼錯(cuò)誤!");
}
}
else
{
//如果是空
MessageBox.Show("用戶名和密碼不能為空!");
}
}
?
?
需改動(dòng):program.cs
?
?
?
下拉列表:
?
?
public partial class Main : Form
{
private ZgDA cda;
public Main()
{
InitializeComponent();
}
public Main(string username)//重載了一個(gè)Main方法
{
?
InitializeComponent();
cda = new ZgDA();
?
}
?
private void label1_Click(object sender, EventArgs e)
{
?
}
?
private void Main_Load(object sender, EventArgs e)
{
?
//填充省的下拉列表
Fillsheng();
//填充市的下拉列表
Fillshi();
//填充區(qū)的下拉列表
Fillqu();
}
?
private void cmbsheng_SelectedIndexChanged(object sender, EventArgs e)
{
//填充市的下拉列表
Fillshi();
}
?
private void cmbshi_SelectedIndexChanged(object sender, EventArgs e)
{
//填充區(qū)的下拉列表
Fillqu();
}
public void Fillsheng()//填充省的方法
{
List<Zg> List= cda.select("0001");//根據(jù)父級(jí)代號(hào)查到該父級(jí)下所有的子集的集合
cmbsheng.DataSource = List;//把查到的集合交給省的下拉作為數(shù)據(jù)源
cmbsheng.DisplayMember = "Name";//顯示民族名稱
cmbsheng.ValueMember = "Code";//后臺(tái)值是民族代號(hào)
}
public void Fillshi()//填充市的方法
{
List<Zg> List = cda.select(cmbsheng.SelectedValue.ToString());//選中哪個(gè)省就取到哪個(gè)省的代號(hào)
cmbshi.DataSource = List;//把查到的集合交給市的下拉作為數(shù)據(jù)源
cmbshi.DisplayMember = "Name";//顯示民族名稱
cmbshi.ValueMember = "Code";//后臺(tái)值是民族代號(hào)
}
public void Fillqu()//填充市的方法
{
List<Zg> List = cda.select(cmbshi.SelectedValue.ToString());//選中哪個(gè)省就取到哪個(gè)省的代號(hào)
cmbqu.DataSource = List;//把查到的集合交給市的下拉作為數(shù)據(jù)源
cmbqu.DisplayMember = "Name";//顯示民族名稱
cmbqu.ValueMember = "Code";//后臺(tái)值是民族代號(hào)
}
}
}
?
轉(zhuǎn)載于:https://www.cnblogs.com/yp11/p/5796250.html
總結(jié)
- 上一篇: iOS - OC NSLocale本地化
- 下一篇: 怎么自动识别验证码