2

私は、アプリケーション ウィンドウ フォーム .net を持っています。フォーム 1 が表示されるまでに多くの時間がかかります。これform1_Loadは、イベントで多くの操作が行われるためです。

私の目標は、操作が行われている間に画像を表示することです。

private void form1_Load(object sender, EventArgs e)
{            
    methode1();
}

methode1() が機能している間、フォームが表示されません。method1() が機能している間、画面に何も表示されないため、method1() が機能している間、画面に画像を表示したいと思います。

4

5 に答える 5

2

このコードを試してください

using System.Reactive.Linq;

    private void RealForm_Load(object sender, EventArgs e)
    {
        var g = new Splash();

        // place in this delegate the call to your time consuming operation
        var timeConsumingOperation = Observable.Start(() => Thread.Sleep(5000));
        timeConsumingOperation.ObserveOn(this).Subscribe(x =>
        {
            g.Close();
            this.Visible = true;
        });

        this.Visible = false;
        g.ShowDialog();
    }

このコードは、Microsoft Rx を使用して、他の優れた機能の中でバックグラウンド スレッドで操作を実行します

http://msdn.microsoft.com/en-us/data/gg577609.aspx

このコードを機能させるには、Rx および Rx ウィンドウ フォームの 2 つのナゲット パッケージを参照する必要があります。

https://nuget.org/packages/Rx-Main/1.0.11226

https://nuget.org/packages/Rx-WinForms/1.0.11226

于 2012-05-30T20:02:41.717 に答える
2

読み込み専用の別のフォームを静止画像で作成し、アプリケーションが読み込みを開始する前に表示し、後で破棄します。常に上にあり、境界線がないのは、そのようなものの通常の設定です。

于 2012-05-30T19:43:25.533 に答える
2

.net の視覚的なものはすべてフォーム上で行われます。これを行うには、module1() の前に画像をロードし、module1() の完了後にそれを閉じる、画像を含む小さなフォームを作成します。すぐ下..

private void form1_Load(object sender, EventArgs e)
{    
        Form f = new Form();
        f.Size = new Size(400, 10);
        f.FormBorderStyle = FormBorderStyle.None;
        f.MinimizeBox = false;
        f.MaximizeBox = false;
        Image im = Image.FromFile(path);
        PictureBox pb = new PictureBox();
        pb.Dock = DockStyle.Fill;
        pb.Image = im;
        pb.Location = new Point(5, 5);
        f.Controls.Add(pb);
        f.Show();        
        methode1();
        f.Close();
}
于 2012-05-30T19:47:35.637 に答える
0

(スプラッシュ スクリーン c# -- google it)

これが私が見つけたものです: http://msdn.microsoft.com/en-us/library/aa446493.aspx

于 2012-05-30T19:45:10.770 に答える
0

組み込みの SplashScreen クラスを使用するのはどうですか?

http://msdn.microsoft.com/en-us/library/system.windows.splashscreen.aspx

于 2012-05-30T19:45:53.927 に答える