sYnced Posted April 22, 2013 at 09:06 PM Report #504402 Posted April 22, 2013 at 09:06 PM Boa noite caro P@P, É o seguinte, eu primeiramente optei por um while(true) mas vi que usava muito CPU e então o programa não deixava abrir a janela (pois minimizava automáticamente). Depois de alguma pesquisa, encontrei um método, (que vou publicar mais abaixo), este método já deixa máximizar o form, mas nada mais. Gostaria de saber como com o ciclo infinito activo ele pode na mesma mexer no form normalmente. O Código é o seguinte: EventWaitHandle waithandler = new EventWaitHandle(false, EventResetMode.AutoReset, Guid.NewGuid().ToString()); do { waithandler.WaitOne(TimeSpan.FromSeconds(2)); ciclos(); } while (true); Obrigado.
pikax Posted April 23, 2013 at 08:22 AM Report #504437 Posted April 23, 2013 at 08:22 AM Nao deves estar a deixar a form processar as mensagens do windows, e' por isso que nao esta' a funcionar. porque que nao crias um timer, assim ja' deixas o form processar as mensagens(aka ja' podes fazer "tudo" com a form) Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
sYnced Posted April 23, 2013 at 10:07 AM Author Report #504464 Posted April 23, 2013 at 10:07 AM Podes dar me só um exemplo como fazer isso ? é que o form que quero mexer abre outro com ShowDialog, e o que é aberto é que faz os ciclos. Caso queiras mais bocados de código avisa por favor. Obrigado.
pikax Posted April 23, 2013 at 10:14 AM Report #504465 Posted April 23, 2013 at 10:14 AM public class cTeste//... /* .... */ Timer m_timer = new Timer(); public cTeste() { m_timer.Tick+=m_timer_Tick; m_timer.Interval = 2*1000;//2segundos m_timer.Enable = true; } void m_timer_Tick(object sender, EventArgs e) { Ciclos(); } //.... Pode nao funcionar, depende muito do que o que a funcao Ciclos ira' fazer Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
sYnced Posted April 23, 2013 at 10:22 AM Author Report #504469 Posted April 23, 2013 at 10:22 AM (edited) Eu quero a função ciclos sempre a funcionar, ou seja infinitamente... Apenas acede à base de dados e a ficheiros no PC a função ciclos. Edited April 23, 2013 at 10:22 AM by sYnced
pikax Posted April 23, 2013 at 10:24 AM Report #504471 Posted April 23, 2013 at 10:24 AM tens que ver o peso que a funcao tera', nao seria melhor mandar para outra thread, para teres a thread principal a funcionar correctamente? Mas experimenta da forma que disse com o timer, em principio deve-te fazer o que queres. Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
sYnced Posted April 23, 2013 at 10:25 AM Author Report #504472 Posted April 23, 2013 at 10:25 AM Desde que faça sempre essa função de uma forma infinita até fechar o programa é isso que quero! Cumprimentos!
pikax Posted April 23, 2013 at 10:28 AM Report #504473 Posted April 23, 2013 at 10:28 AM A forma de pores um while(true) numa thread, ou um timer, funciona para o que tu queres. basta implementares e testar. Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
sYnced Posted April 23, 2013 at 10:29 AM Author Report #504476 Posted April 23, 2013 at 10:29 AM Epah eu threads e timer não tenho experiência estou a ler isso agora, mas obrigado estou a experimentar e a ler sobre isto.
pikax Posted April 23, 2013 at 10:32 AM Report #504481 Posted April 23, 2013 at 10:32 AM O timer e' bastante facil, basicamente defines o Intervalo(em milisegundos) que ele vai ser chamado Interval, depois tens que atribuir o evento Tick que e' chamado apos o timer chegar ao tempo no Interval. no metodo do Tick, basicamente basta chamares o teu metodo. Ja' agora, nao me recordo se tens que por o timer outra vez a enable apos ele chamar o evento. Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
sYnced Posted April 23, 2013 at 10:39 AM Author Report #504482 Posted April 23, 2013 at 10:39 AM Boa tarde, vê esta imagem, está me a dar um pequeno erro. Cumprimentos. e desde já muito obrigado Bem obrigado já descobri, é Enabled. Vou testar agora mesmo, 1000 Obrigados 🙂
pikax Posted April 23, 2013 at 10:43 AM Report #504484 Posted April 23, 2013 at 10:43 AM Desculpa, e' o que da' usar o editor daqui do forum 😄 Verifica se no metodo Tick o Enable esta' a true, se nao estiver, mete-o a true. Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
sYnced Posted April 23, 2013 at 10:53 AM Author Report #504494 Posted April 23, 2013 at 10:53 AM Já fiz, funcionou, como disse acima 1000 Obrigados, fizeste me perceber algo mais sobre ciclos infinitos, nem sempre são precisos whiles 🙂
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