1.
采用事件委托的方法
對象:主窗體:FrmMain 加載窗體:FrmLoading
思路:
在主窗體加載前顯示窗體FrmLoading,當主窗體加載完畢後(第一次顯示的時候),關閉FrmLoading
C# 代碼如下所示
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace CDemoTest
{
public partial class FrmMain : Form
{
private FrmLoading loadForm;
public FrmMain()
{
//創建加載窗體
loadForm = new FrmLoading();
//指定窗體加載完畢時的事件
this.Shown += FrmLoading_Close;
loadForm.Show();
//主窗體初始化方法
InitializeComponent();
}
//聲明關閉加載窗體方法
private void FrmLoading_Close(object sender, EventArgs e)
{
loadForm.Close();
}
private void FrmMain_Load(object sender, EventArgs e)
{
Thread.Sleep(3000);
}
}
}
2.
1.在Main方法中,先顯示啟動畫面,注意使用Show而非ShowDialog。
2.然後按照正常的方式,Application.Run(mainForm);
3.在mainForm的構造函數中,啟動加載線程。
4.mainForm中設置一個標志,如果加載完成,該標志設置為某值。
5.作為啟動畫面使用的form,注意檢測mainForm中的標志,如果主窗體加載完成,它自己關閉。
感覺方法比較好,記錄一下。
這是結構體指針中的一個符號,給你寫個程序解釋一下吧,例如:
#include<stdio.h>
struct STU //定義一個結構體
{
int num;
}stu;
int main()
{
struct STU *p; //定義一個結構體指針
p=stu; //p指向stu這個結構體變量
stu.num=100; //給結構體成員num附個初值
printf("%d",p->num); //輸出stu中的num的值
return;
}
看到了吧,->的作法就是在引用結構體中的變量!!
形式如:p->結構體成員(如p->num)
他的作用相當於stu.num或(*p).num
不知道這樣解釋你明不明白、、、、、不懂了call我,O(∩_∩)O~
望采納。
這是結構體指針中的一個符號,給你寫個程序解釋一下吧,例如:
#include<stdio.h>
struct STU //定義一個結構體
{
int num;
}stu;
int main()
{
struct STU *p; //定義一個結構體指針
p=stu; //p指向stu這個結構體變量
stu.num=100; //給結構體成員num附個初值
printf("%d",p->num); //輸出stu中的num的值
return;
}
看到了吧,->的作法就是在引用結構體中的變量!!
形式如:p->結構體成員(如p->num)
他的作用相當於stu.num或(*p).num
不知道這樣解釋你明不明白、、、、、不懂了call我,O(∩_∩)O~
望采納。