Professional Documents
Culture Documents
CadastrodeumConsultrioemWindowsForms,comC#eSQLServerParte3
Pesquisar
DesenvolvimentoC#
CadastrodeumConsultrioemWindowsForms,com
C#eSQLServerParte3
Nesta3partedenossoartigo,iremosnosaprofundarnoconceitodeHeranadaProgramaoOrientada
ObjetoscriandoumFormulrioBaseeaplicandoasconfiguraesnecessriasparanele.
porWellingtonBalbodeCamargo
Olpessoal,continuamosnossasriedeartigoscriandoaplicaessimplesemWindowsForms
LOGIN
usandoalinguagemC#eobancodedadosSQLServer.
Nestaparteiremosfinalizarnossapadronizaonosistemaaplicandoalgumasconfiguraes
personalizadasaoformulrioprincipal.FalaremostambmsobreosconceitosdeProgramao
OrientadaObjetos.Acompanhem:
Deincio,vamosalterarasimagensdosmenusdoformprincipal.Paraisso,abraoform,cliquenos
botesdomenu,senotiverdadonomeaeles,aproveiteejdonomedeMdicos,Pacientese
Consultas.AgorapesquisenoGoogleImagensasrespectivasimagensparacadaboto,salveemseu
pc,cliqueemcadabotoe,nomenuPropriedades,cliquenobotoaoladodoatributoImageeclique
emImport,comomostraaimagemabaixo:
http://www.linhadecodigo.com.br/artigo/2814/cadastrodeumconsultorioemwindowsformscomcsharpesqlserverparte3.aspx
1/8
10/09/2015
CadastrodeumConsultrioemWindowsForms,comC#eSQLServerParte3
Usedeprefernciaimagenscomtamanhomximode48x48.Apsinserirasimagenscliqueno
atributoImageScalingeodeixecomoNoneparaaimagemficarcomotamanhoreal.Seaimagem
noficartransparente,salterarapropriedadeImageTransparentColorparaacordasuaimagem.
Podemosalterarnossomenudenavegaoparaquefique,porexemplo,esquerdadenossajanela
enoemcima.PormeiodapropriedadeDockpodemosfazerisso,comomostraaimagemabaixo:
Ok,nomeuexemplovoudeixlonotopomesmo,maissepreferirpodealterarapropriedadeDock
comomostrouaimagem.
Aprincpio,nossoformulrioestpronto.Comcadastrosefuncionalidadessimples,nosdeuuma
boavisodecomofciltrabalharcomoscontrolesdoVisualStudio.
http://www.linhadecodigo.com.br/artigo/2814/cadastrodeumconsultorioemwindowsformscomcsharpesqlserverparte3.aspx
2/8
10/09/2015
CadastrodeumConsultrioemWindowsForms,comC#eSQLServerParte3
Agoraimagineoseguintecenrio:umaaplicaodessafeitaparaavidarealonde,nocadastro
pacientes,noso5nem10nem100esim1000registros.
Comoficariaseprecisarmosnavegarnoregistro999,porexemplo?Iriamosdeumemum?Ficaria
complicado,concordam?Porissodigoqueatomomentomontamosumsistemaomaissimples
possvel.
Apartirdeagorairemosmudarnossofocoesimularumaaplicaodeverdade,paraumpotencial
cliente,utilizandoalgunsconceitosdaProgramaoOrientadaObjetos,comoaHerana.
DeformasimplistaoconceitodeHeranasignificaqueumaoumaisclassesfilhasherdamatributose
mtodosdaclassepai(conhecidatambmcomoclassebase).Aheranausadacomaintenode
reaproveitarocdigoeassimgarantirumaaltaprodutividadeemnossosistema.
VamostrabalhartambmemnossosistemacomoconceitodeParametrizao,queoconceitode
implementardetalheseparmetrosaosistemadeacordocomasnecesssidadesdocliente.Seguindo
esteconceito,noteremosmaisumformulriocomoodePacientes,comosbotesavanare
retrocederosregistros,poisquandoabrirmosoformdePacientes,noqueremosvertodosos
PacientesesimverdeterminadoPaciente.
Serfeitoassimemtodososformulrios,pormeiodoconceitodeHerana.Teremostambmum
formulriodepesquisa.Comecemosentonossoformulriobaseprincipalqueseroformulriopai:
CliqueemAdd>WindowsForm,donomedefrmBaseecliqueemOK.
Sergeradonossoformulrio,cliquenele,abraajanelaProperties(F4)ealtereasseguintes
propriedades:
http://www.linhadecodigo.com.br/artigo/2814/cadastrodeumconsultorioemwindowsformscomcsharpesqlserverparte3.aspx
3/8
10/09/2015
CadastrodeumConsultrioemWindowsForms,comC#eSQLServerParte3
StartPositioncoloqueCenterScreenparaqueoformabranomeiodatela
MaximizeBoxfalse
MinimizeBoxfalseparaquesapareaobotodefecharnoform
KeyPreviewtrue,paraativarousodotecladonoseventosdoform
FormBorderStylealtereparaFixedDialogparaqueoformnopossaserredimensionado
Agoravamosinseriroscontrolesqueseropadresnosdemaisforms.ArrasteumaToolStripde
nossaToolboxparaoformeinsira4botes,1separadoremais1boto,nessaordemreferentesaos
botesNovo,Salvar,Excluir,LocalizareFecharconformemostraaimagemabaixo:
AltereapropriedadeDisplayStyleparaImageandTextdosbotes,apropriedadeImageScaling
paraNoneeinsiraimagensparaosbotesreferentescomofizemosnoformanterior.Alteretambm
apropriedadeDesigndosbotesparapodermosidentificlosmaisfacilmentequandoformosuslos
naprogramao.NaordemaltereparabtnNovo,btnSalvar,btnExcluir,btnLocalizarebtnFechar.
AdicioneocontroleStatusStripaseuform,neleadicioneumStatusStripLabel,donomede
lblMensagemedeixeapropriedadeTextembrancoparaquepossamosconfigurarviacdigouma
mensagemaousurioquandoelerealizardeterminadaao.
CliquecomobotodireitonoseuformecliqueemViewCodeousimplesmenteaperteF7paraira
pginadecdigos.Nela,vamoscriarumenumerador,comositensInserindo,NavegandoeEditando,
ecriaremosumavarivelprivadadesteenumeradorparasabermosqualostatusdosistema,sepor
exemploousurioestiverinserindo,devemosdesabilitarobotodeexcluir,ouquandoestiver
localizando,devemosdesabilitarobotodesalvar.
Destaformaestaremosotimizandonossocdigoeevitandoerrosdousurio.Aimagemabaixo
mostranossocdigo:
http://www.linhadecodigo.com.br/artigo/2814/cadastrodeumconsultorioemwindowsformscomcsharpesqlserverparte3.aspx
4/8
10/09/2015
CadastrodeumConsultrioemWindowsForms,comC#eSQLServerParte3
Vamosvoltaraonossoform,nomodovisualeimplementarocdigoparaobotoFechar,comoparte
denossoexemplo.PrimeiroddoiscliquesemcimadobotodefecharechameomtodoClose().
Depois,volteaoform,abraajaneladepropriedadesdomesmo,cliquenosEventos,selecioneo
eventoKeyDown,ddoiscliquesneleeinsiraocdigoabaixoparaqueoformsefecheaoapertar
ESC.
UsandoesseconceitodeHeranaemnossosistema,sutilizaremosestecdigoacimaapenasuma
vezeosdemaisherdaroasfuncionalidadesdoformulriobase,oquemelhoranossodesempenhoe
temosfacilidadeseprecisarmosdarmanuteno.
Naprximapartedenossoartigo,iremoscontinuaracodificaodenossoformulriobase
implementandoosmtodosqueiremosusarnaheranadomesmo.
Confiranoprximoartigo!
CrditosLucianoPimenta,quefezasvdeoaulaseaoPortalLinhadeCdigo,porondepude
baixlas,estudlaseposteriormentefazeresteartigo.
Quaisquerdvidas,estoudisposio.
http://www.linhadecodigo.com.br/artigo/2814/cadastrodeumconsultorioemwindowsformscomcsharpesqlserverparte3.aspx
5/8
10/09/2015
CadastrodeumConsultrioemWindowsForms,comC#eSQLServerParte3
Atoprximoartigo!
WellingtonBalbodeCamargoDesenvolvedorWeb/Desktopem.NET,compouc
omaisde1anodeexperincianarea.Cursandoo4SemestredeAnlisede
Sistemas,atualmenteestudaparamelhorarosconhecimentosemSQLServere
ASP.NET,buscandoemumfuturoprximoascertificaesMicrosoftnessasre
as.Mantmumblogcomdicaseartigosparainiciantesem.NETnoendereohttp://programan
dodotnet.wordpress.comenashorasvagasprocuraajudareaprendercomopessoaldoFrum
daMSDN.AtualmenteeditordeartigosdaLinhadeCdigo.
Leiatambm
ComocriarbotesemjogosSFML.NET
C#
CarregandoedesenhandospritescomSFML.NET
C#
SFML.NET:IntroduoaodesenvolvimentodejogoscomC#
C#
UniversalApps:Compartilhandorecursosentreprojetos
C#
DrageDropdearquivosemWPF
WPF
Publicidade
REVISTASDEVMEDIA
http://www.linhadecodigo.com.br/artigo/2814/cadastrodeumconsultorioemwindowsformscomcsharpesqlserverparte3.aspx
6/8
10/09/2015
CadastrodeumConsultrioemWindowsForms,comC#eSQLServerParte3
.netMag124
Easy.netmag42
VERTODAS
TOP10ARTIGOS
ASSINE
TOP10AUTORES
ComandosbsicosemSQLinsert,
update,deleteeselect
HTMLBsico
MenuemCSSMenudropdownhorizontal
comHTML5eCSS3
Excel:Comoverificarseexistevalores
duplicados
CdigoparabackgroundHTMLeCSS
Criandoumsistemadecadastroelogin
comPHPeMySql
SINTEGRAOrientaesGerais
FormatodosregistrosdoSintegra
CopiandodadoscomoRobocopy
10
SQL:UtilizandooOperadorUNIONe
UNIONALL
VERTODOS
7/8
10/09/2015
CadastrodeumConsultrioemWindowsForms,comC#eSQLServerParte3
LinhadeCdigo
Copyright2015todososdireitosreservadosparaWeb03
http://www.linhadecodigo.com.br/artigo/2814/cadastrodeumconsultorioemwindowsformscomcsharpesqlserverparte3.aspx
8/8