Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

rjsma

[RESOLVIDO]splash screen

Mensagens Recomendadas

rjsma    2
rjsma

boas

e tenho uma duvida que para a maioria das pessoas daqui do forum teve ser muito facil resolver isto

e assim eu adicionei uma splash screen mas queria qua ao executar o programa que o splash screen estevesse so 2 ou 3 segundos aberto e depois que abrisse a form1

cumps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ribeiro55    44
ribeiro55

Com 30000 no interval, terias um "splash" screen a demorar 30 segundos a fazer qualquer coisa.

O interval é dado em milisegundos, onde 1000 é igual a 1 segundo. Logo, 3000 seriam 3 segundos.

Não precisas de reinventar a roda:

    [*]No solution explorer, dá 2 cliques em My Project[*]Cá em baixo, onde diz "Splash screen", escolhe na combobox o form que queres que sirva de splash

    E aí tens um splash screen, "costless".

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ribeiro55    44
ribeiro55

Se estás a fazer o que eu te sugeri, esquece os timers. Limpa isso tudo.

Basta escolheres a form de splash no combo da "splash form" no "My Project".

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
rjsma    2
rjsma

se eu tirar o timer depois o splash nao fica so 3 segundos,e ja tirei o timer e continua a dar o mesmo erro

no startup form pos o splash screen, e capaz de ser isto que esta a fazer isto

cumps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
softklin    12
softklin

Não é no Startup form que deves colocar, mas sim no "SplashScreen" (3ª opção), como o ribeiro disse:

Se estás a fazer o que eu te sugeri, esquece os timers. Limpa isso tudo.

Basta escolheres a form de splash no combo da "splash form" no "My Project".

Por acaso desconhecia esse recurso do VB, e digo desde já que facilita bastante a criação de splashscreens (embora não seja frequente criá-los para aplicações que desenvolvo...).

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
rjsma    2
rjsma

mas eu quero que o splash screen seja a 1 form a aparecer a 3 opcao e para escolher  e a form que quero que apareca a seguir ao splash screen

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
softklin    12
softklin

Não, é mesmo lá em baixo, atrásde um botão que diz "View Aplication Events".

Em suma, tens de fazer o seguinte:

1) Criar um splashscreen, usando a opção new > new item > splashScreen

2) Seleccionar a opção "splash screen", escolhendo o form que acabaste de criar (acho que esta opção só aparece acessível quando fazes o passo anterior).

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
rjsma    2
rjsma

e assim para eu por por o splash com form inicial vou ao startup form e para escolher a form que abre a seguir do splash screen vou ao splash screen,certo?

cumps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
softklin    12
softklin

Num método tradicional, terias de colocar o teu form com o Splashscreen (SS) como startup form, e depois configurar timers, etc.

No entanto, o VB trás um novo recurso, que também só descobri com este tópico, que faz tudo por ti. No fim de contas, fazes assim: vais à janela de criar um novo form, em em vez de escolheres  "windows Form", escolhes um chamado Splashscreen. Modificas o formulário ao teu gosto, e depois vais às propriedades do projecto, e alteras a opção que destaquei a verde:

http://i36.tinypic.com/t53ts5.jpg

A vermelho, pões o teu formulário principal

A verde pões o teu splashscreen.

Inicia a aplicação, e vais ver que corre tudo automaticamente.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ribeiro55    44
ribeiro55

30000 msecs são 30 segundos.

Não precisas de timers, sleeps nem nada que roce lá perto.

O softclean já explicou bem o que eu queria dizer.

Não vale a pena reinventar a roda :thumbsup:

Se quiseres aumentar o tempo de splash, clicas no "Application events" e fazes um override ao "OnInitialize" e brincas com a propriedade "MinimumSplashScreenDisplayTime":

        Protected Overrides Function OnInitialize(ByVal commandLineArgs As System.Collections.ObjectModel.ReadOnlyCollection(Of String)) As Boolean
            Me.MinimumSplashScreenDisplayTime = 3000
            Return MyBase.OnInitialize(commandLineArgs)
        End Function

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
set#1    0
set#1

Se quiseres aumentar o tempo de splash, clicas no "Application events" e fazes um override ao "OnInitialize" e brincas com a propriedade "MinimumSplashScreenDisplayTime":

Desculpa tar a levantar esta questao, mas tudo acima ja havia feito, por acaso nao sabia como aumentar o tempo. Eu tenho ao lado da "View Applications Events". Quando acrescento o codigo que deste da Error: Statement is not valid in a namespace.

O que pode ser?

Obrigado!!

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ribeiro55    44
ribeiro55

Isso é porque tens de fazer as tuas alterações dentro da Partial Class MyApplication, dentro do Namespace My.

Namespace My
    Partial Friend Class MyApplication

        Protected Overrides Function OnInitialize(ByVal commandLineArgs As System.Collections.ObjectModel.ReadOnlyCollection(Of String)) As Boolean
            Me.MinimumSplashScreenDisplayTime = 3000
            Return MyBase.OnInitialize(commandLineArgs)
        End Function

    End Class
End Namespace

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Gooden    0
Gooden

Então é porque tens timers ou outras porcarias no splash.

O Splash tem de estar completamente desprovido de código.

não concordo contigo ribeiro. a minha aplicação tem código no splash screen e funciona 5 estrelas. o problema aqui é que ele ta a aceder a algum controlo que não lhe é permitido. aquele erro normalmente acontece quando acedes através duma thread a um controlo, etc...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ribeiro55    44
ribeiro55

Completamente desprovido de código no que toca a tentativas de simular um splash screen.

Se "chamares" um form antes do timeout do splash, é óbvio que te vai ficar o splash por detrás, como foi descrito.

Para além disso, acho que um splash, na sua verdadeira essência, só devia ter código para ir buscar a versão da assembly e mostrá-la.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade