最近做了一个工程,其它问题都已解决,只差为项目添加启动画面.一时找不到解决的办法.请各位大侠指教.谢谢了.我也看了一些帖子,但描述都不是很具体,我是想找到一种比较简单的方法,像VC++ 6.0一样,只需要几行代码就可以搞定.不知C#里是不是可以这样解决?再次感谢!

解决方案 »

  1.   

    去找张gif的动态图就行了撒
      

  2.   

        [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new FormStart());//在这里添加,显示启动窗体
                Application.Run(new Form1());
            }
      

  3.   

    我目前的解决方案是:
    参考5楼的代码:
    [STAThread] 
            static void Main() 
            { 
                Application.EnableVisualStyles(); 
                Application.SetCompatibleTextRenderingDefault(false); 
                Application.Run(new FormStart());//在这里添加,显示启动窗体 
                Application.Run(new Form1()); 
            }然后,FormStart();//在这里添加,显示启动窗体 把FormStart单独放置一张图片,去掉所有其它多余东西.相当于整个窗口只有一张图.然后调用
    private void FormStart_MouseHover(object sender, EventArgs e)
            {
                太阳能光伏系统 frm =  new 太阳能光伏系统();
                frm.Show();
                this.Close();
            }
    这样,只要鼠标移动到图片上,程序即可进入主界面.但仍感觉此方法不是很好.希望有高手可以指教.多谢.找到合适方案,立即给分.
      

  4.   

    就再创建个CLASS,在里面写上你要启动的画面不就可以了么,我都是这样做的.
      

  5.   


    using System;
    using System.Collections.Generic;
    using System.Windows.Forms;namespace demo
    {
        static class Program
        {
            public static ApplicationContext app; //这里
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                app = new ApplicationContext(new frmStart());
                Application.Run(app);
            }
        }
    }        private void frmStart_MouseClick(object sender, MouseEventArgs e)
            {
                frmMain frm = new frmMain();
                Program.app.MainForm = frm;
                frm.Show();
                this.Close();
            }
      

  6.   

    这是我综合了各位的建议之后,改进的方法,已经可以用了.C#代码如下:////////这是Program.cs下的代码
    using System;
    using System.Collections.Generic;
    using System.Windows.Forms;namespace Demo
    {
        static class Program
        {
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new StartImage()); //这里是只含有启动图片的Form
                Application.Run(new MainFrm());
            }
        }
    }//////////////////////////////////下面是在StartImage.cs中的代码
    public partial class StartImage : Form///这是StartImage窗口
        {
            static int i = 3;//定义启动画面保持三秒时间.可以修改成你想要的时间.
            public StartImage()
            {
                InitializeComponent();
            }        private void StartImage_Load(object sender, EventArgs e)//StartImage_Load函数
            {
                Timer t = new Timer();
                t.Interval = 1000;
                t.Tick += new EventHandler(t_Tick);
                t.Start(); 
            }
            private void t_Tick(object sender, EventArgs e)
            {
                if (i > 0)
                {
                    i--;
                }
                else if (i == 0)
                {
                    MainFrm frm = new MainFrm();//这是启动画面出现之后的主程序窗口
                    frm.Show();
                    this.Close();
                    i = -1;            }
            }
        }
      

  7.   

    程序启动时,如果默认加载主窗口,则可先把主窗口隐藏,显示登陆窗口;当用户登陆成功后,再显示主窗口。
    这里有个问题,当我们使用FrmMain main = new FrmMain();时就新定义了一个主窗体,这个主窗体就要重新开始加载数据。所以我们要在登陆窗口里定义一个Form变量用来接收正在后台加载数据的那个主窗口。当用户登陆成功后,让这个变量对应的已经加载完数据的主窗口显示出来,就会很快了。
    主要代码如下:
    1.在登陆窗口先定义一个全局变量:
    Form frmOpener;
    再写一个方法,用来接收主窗口和显示自己。
    public ShowLogin(Form frmMain)
    {
      frmOpener = frmMain;
      this.Show();
    }
    2.程序刚启动的时候,在主窗口调用如下方法:
    this.Hide(); //这里只是隐藏主窗口,后台在默默加载数据。
    FrmLogin login = new FrmLogin();
    login.ShowLogin();  //不能直接调用login.Show();方法。
    3.在登陆界面登陆登陆成功后调用如下方法:
    this.Hide(); //隐藏登陆窗口
    frmOpener.show(); //这样就是让那个刚才在后台默默加载的主窗口显示出来