po1725 Posted May 15, 2012 at 09:38 PM Report #455920 Posted May 15, 2012 at 09:38 PM Olá, estou a precisar de ajuda na actualização das cores por exemplo eu compilo\executo, carrego no botão para mudar cor para o verde (ele não faz nada.. ,fecho a aplicação) volto a abrir e está todo verde (para mudar a cor tenho sempre que sair e entrar) a minha pergunta é existe forma de contornar este problema com uma espécie de refresh? botão public void btncor1_Click(object sender, EventArgs e) { ligação.Open(); MySqlCommand ola = new MySqlCommand("Update cores set cor='verde' where Codcor=1", ligação); ola.ExecuteNonQuery(); Ligação.Close(); cor(); } Chamada de verificação à cor public void cor() { try { ligação(); ligação.Open(); MeuAdapter = new MySqlDataAdapter("SELECT cor FROM cores where Codcor=1;", ligação); MeuAdapter.Fill(MeuDataSet, "cores"); ligação.Close(); string Minhacor = MeuDataSet.Tables["cores"].Rows[0]["cor"].ToString(); if (Minhacor == "vermelho") { menuStrip1.BackColor = Color.red; btn1.BackColor = Color.red; pnl1.BackColor = Color.red; this.BackColor = Color.White; } else if (Minhacor == "verde") { menuStrip1.BackColor = Color.green; btn1.BackColor = Color.green; pnl1.BackColor = Color.green; this.BackColor = Color.Black; } } catch (exception e) { MessageBox.Show("Erro! "+e, "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information); } } obrigado desde já 👍
Caça Posted May 15, 2012 at 10:52 PM Report #455942 Posted May 15, 2012 at 10:52 PM Só estás a actualizar o registo na Base de Dados, depois de actualizar deves também correr a função que te muda a cor. 1 Report Pedro Martins Não respondo a duvidas por PM
po1725 Posted May 16, 2012 at 07:19 PM Author Report #456184 Posted May 16, 2012 at 07:19 PM (edited) Só estás a actualizar o registo na Base de Dados, depois de actualizar deves também correr a função que te muda a cor. Como assim? estou a usar a função no botão.. { ligação.Open(); MySqlCommand ola = new MySqlCommand("Update cores set cor='verde' where Codcor=1", ligação); ola.ExecuteNonQuery(); Ligação.Close(); -> cor(); } Edited May 16, 2012 at 07:21 PM by po1725
Caça Posted May 16, 2012 at 10:05 PM Report #456245 Posted May 16, 2012 at 10:05 PM Tens razão.. Não tinha reparado nisso. Coloca ai um BreakPoint para ver o que se está a passar.. Pedro Martins Não respondo a duvidas por PM
rumbafum Posted May 17, 2012 at 09:19 AM Report #456319 Posted May 17, 2012 at 09:19 AM Podes sempre experimentar fazer refresh do form, ou invalidate do controlo que obrigaria supostamente o controlo a se redesenhar
po1725 Posted May 17, 2012 at 05:27 PM Author Report #456474 Posted May 17, 2012 at 05:27 PM (edited) o refresh já tentei e não deu e o invalidate nunca ouvi falar podia dar um pequeno exemplo? será assim: { InitializeComponent(); ResizeRedraw =true; } public void Invalidate(MinhaCor); Edited May 17, 2012 at 05:32 PM by po1725
rumbafum Posted May 18, 2012 at 09:51 PM Report #456774 Posted May 18, 2012 at 09:51 PM é mesmo Control.Invalidate(). Experimenta com o botão que queres mudar a cor por exemplo usando: btn1.Invalidate()
po1725 Posted May 23, 2012 at 03:07 PM Author Report #457650 Posted May 23, 2012 at 03:07 PM Tanbem não resultou, mas usei um restart não é muito prático mas funciona he he
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now