2017-02-12 7 views
0

저는 C#으로 발전하지 않았으므로 작은 프로젝트를 만들었지 만 지금은 문제가 있습니다. 나는 스플래시 스크린을 만든다. 모든 것이 작동합니다. 메뉴가있는 프로젝트를 만들고 메뉴에서 다양한 변형을 선택할 수 있습니다 : 암호화, 결정 및 종료. 각각에는 "집"버튼이 있습니다. 모든 메뉴에서 버튼을 누르면 매번 스플래시 화면이 나타나고 기다려야합니다. 짜증나. (프로그램을 시작할 때) 한 번만 작동하도록 설정하려면 어떻게해야합니까?스플래시 화면 C#

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
using Soft.Properties; 
using System.Threading; 

namespace Soft 
{ 
    public partial class Meniu : Form 
    { 
    public Meniu() 
    { 
     Thread t = new Thread(new ThreadStart(SplashStart)); 
     t.Start(); 
     Thread.Sleep(5000); 

     InitializeComponent(); 

     t.Abort(); 

    } 

    public void SplashStart() 
    { 
     Application.Run(new LOGO()); 
    } 

그리고 하나 더 질문합니다. 로고가 나타나면 프로그램이 최소화됩니다. 어떤 충고?

+0

이것은 다소 어리 석다. UI가 느리게 시작된다는 사실을 숨겨야 할 때만 스플래시 화면이 필요합니다. 당신이 숨길 수있는 유일한 것은 코드에 Thread.Sleep() 호출을 넣고 너무 오래 잔다는 것입니다. 해당 명령문을 삭제하십시오. 더 이상 필요하지 않으므로 이제 시작 화면을 삭제하십시오. 사용자가 자신이 누구인지 알고 싶으면 도움말 + 정보 대화 상자를 추가하십시오. –

답변

0

프로그램 시작시에만 프로그램 시작 화면을 표시하려면 Program.cs를 열고 카운트 양식 실행시 정적 클래스 프로그램 섹션에 카운터를 추가하십시오.

public static int counter = 0; 이 같은

그리고 편집 코드 :

public Meniu() 
     { 
      InitializeComponent(); 
      Program.counter++; 
      if (Program.counter == 1) // If first run minimize and show splash screen 
      { 
       this.WindowState = FormWindowState.Minimized; 
       Thread t = new Thread(new ThreadStart(SplashStart)); 
       t.Start(); 
       Thread.Sleep(5000); 
       t.Abort(); 
      } 
      else // If not first run 
      { 
       this.WindowState = FormWindowState.Normal; 
      } 
     } 

     public void SplashStart() 
     { 
      Application.Run(new LOGO()); 
     } 
0

당신이 때 처음으로 출시하고, 다음 번에 발사에 대한 타임 스탬프와 런타임 플래그를 설정할 수는 앱이 실행되었음을 나타냅니다 스플래시 화면을 표시 할 필요가 없으며 다른 기능 간을 전환 할뿐입니다.

0

WindowsFormsApplicationBaseMicrosoft.VisualBasic.ApplicationServices 네임 스페이스에서 사용할 수도 있습니다. Winforms 프로젝트에서 사용할 수 있습니다. 이 기본 클래스는 앱에 스플래시 화면을 추가하는 쉬운 방법을 제공합니다.