Jump to content
rjsma

[RESOLVIDO]splash screen

Recommended Posts

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

Share this post


Link to post
Share on other sites
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".


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
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".


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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...).


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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).


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
Gooden

existe uma coisa que me parece que não entendeste correctamente.

para fazer sleep não é com timer...

Threading.Thread.Sleep(30000)

Share this post


Link to post
Share on other sites
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


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
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!!

Share this post


Link to post
Share on other sites
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


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
ribeiro55

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

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


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
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...

Share this post


Link to post
Share on other sites
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.


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.