c# - In winform button needs to be clicked twice for firing event -
i have buttton on click event of calling function.i have set accept button property button.but not firing event on single click.
private void btnconnect_click(object sender, eventargs e) { try { //function call validating textboxes entry validateform(); if(lblmessage.text != string.empty) { //function call binding dropdown db names binddbdropdown(); //function call binding operation names in dropdown setoperationdropdown(); } else { //else give error message user lblmessage.text = "invalid credentials"; } } catch(exception ex) { //all exceptions handled , written in eventlog. eventlog log = new eventlog("application"); log.source = "mfdbanalyser"; log.writeentry(ex.message); } } public void binddbdropdown() { sqlconnectionstringbuilder objconnectionstring = new sqlconnectionstringbuilder(); objconnectionstring.datasource = txthost.text; objconnectionstring.userid = txtusername.text; objconnectionstring.password = txtpassword.text; sqlconnection sconnection = new sqlconnection(objconnectionstring.connectionstring); //if connected give message user lblmessage.visible = true; lblmessage.text = "you connected sql server...."; try { //to open connection. sconnection.open(); //query select list of databases. string selectdatabasenames = @"select name [master]..[sysdatabases]"; //create command object sqlcommand scommand = new sqlcommand(selectdatabasenames, sconnection); //create data set dataset sdataset = new dataset("master..sysdatabases"); //create dataadapter object sqldataadapter sdataadapter = new sqldataadapter(selectdatabasenames, sconnection); sdataadapter.tablemappings.add("table", "master..sysdatabases"); //fill dataset sdataadapter.fill(sdataset); //bind database names in combobox dataviewmanager dsv = sdataset.defaultviewmanager; //provides master mapping between sourcr table , system.data.datatable cmbdatabases.datasource = sdataset.tables["master..sysdatabases"]; cmbdatabases.displaymember = "name"; cmbdatabases.valuemember = ("name"); } catch(exception ex) { //all exceptions handled , written in eventlog. eventlog logexception = new eventlog("application"); logexception.source = "mfdbanalyser"; logexception.writeentry(ex.message); messagebox.show ("login failed!!", "error occured"); } { //if connection not closed close connection if(sconnection.state != connectionstate.closed) { sconnection.close(); } } } can me out??
uh, on first click, lblmessage contain text?
because if not, first time run it, fail conditional test , insert string "invalid credentials" label. then, second time run it, pass conditional test , call binddbdropdown method you're expecting.
specifically, section of code:
if(lblmessage.text != string.empty) { //function call binding dropdown db names binddbdropdown(); //function call binding operation names in dropdown setoperationdropdown(); } else { //else give error message user lblmessage.text = "invalid credentials"; } i assume you're either trying check contents of textbox user has entered credentials not empty, or want make sure error message not displayed in lblmessage. make sure code accurately reflects intentions!
Comments
Post a Comment