یک پراپرتی(یا متد) در کلاس فرمی که پروگرسبار توش هست ایجاد کنید برای ست کردن value.
public partial class Frm_Loading : Form
{
public int Value
{
get { return this.progressBar1.Value; }
set { this.progressBar1.Value = value; }
}
حالا در فرم قبلی ابتدا نمونه بساز و ...
private void frmSave_Load(object sender, EventArgs e)
{
this.Hide();
int count = GetTotalCount();
int readCount = 0;
Frm_Loading frmLoading = new Frm_Loading();
frmLoading.Show();
fill_dgv(count, ref readCount, frmLoading);
fill_combo(count, ref readCount, frmLoading);
fill_combo2(count, ref readCount, frmLoading);
ConfigDatagrid();
lblstatus.Text = " امروز " + md.GetNameDayInMonth() + " " + md.GetNumberDayInMonth().ToString() + " " + md.GetNameMonth() + " ماه " + md.GetNumberYear().ToString();
this.Show();
frmLoading.Close();
}
private int GetTotalCount()
{
int a;
cmd = new SqlCommand("select count(*) from viewJavad", con);
con.Open();
a += Convert.ToInt32(cmd.ExecuteScalar());
cmd.CommandText = "select count(*) from tblstu";
a += Convert.ToInt32(cmd.ExecuteScalar());
cmd.CommandText = "select count(*) from tblstu";
a += Convert.ToInt32(cmd.ExecuteScalar());
return a;
}
private int fill_dgv(int count, ref int readCount, Frm_Loading frm)
{
dt = new DataTable();
dt.Columns.Add("name");
dt.Columns.Add("status");
// add another columns here
cmd.CommandText = "select * from viewJavad order by date desc , maintime desc";
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
string name = Convert.ToString(dr["name"]);
string status = Convert.ToString(dr["status"]);
// get another data of the record
dt.Rows.Add(name, status);
readCount++;
UpdateProgressBar(count, readCount, frm);
}
dgv1.DataSource = dt;
dr.Dispose();
}
private void fill_combo(int count, ref int readCount, Frm_Loading frm)
{
dtcombo = new DataTable();
dtcombo.Columns.Add("name");
dtcombo.Columns.Add("code");
cmd.CommandText = "select * from tblstu";
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
string name = Convert.ToString(dr["name"]);
string code = Convert.ToString(dr["code"]);
dtcombo.Rows.Add(name, code);
readCount++;
UpdateProgressBar(count, readCount, frm);
}
comboBox2.DataSource = dtcombo;
comboBox2.DisplayMember = "name";
comboBox2.ValueMember = "code";
}
private void fill_combo2(int count, ref int readCount, Frm_Loading frm)
{
dtcombo = new DataTable();
dtcombo.Columns.Add("name");
dtcombo.Columns.Add("code");
cmd.CommandText = "select * from tblstu";
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
string name = Convert.ToString(dr["name"]);
string code = Convert.ToString(dr["code"]);
dtcombo.Rows.Add(name, code);
readCount++;
UpdateProgressBar(count, readCount, frm);
}
cmbname.DataSource = dtcombo;
cmbname.DisplayMember = "name";
cmbname.ValueMember = "code";
}
private void UpdateProgressBar(int count, int readCount, Frm_Loading frm)
{
int p = (readCount / count) * 100;
if (p != frm.Value)
{
frm.Value = p;
}
}
private void ConfigDatagrid()
{
dgv1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dgv1.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
dgv1.Columns[3].AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
dgv1.Columns[5].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
dgv1.Columns[4].AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
dgv1.Columns[7].AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
dgv1.Columns[0].HeaderText = "نام";
dgv1.Columns[1].HeaderText = "وضعیت";
dgv1.Columns[2].HeaderText = "وضعیت تأخیر";
dgv1.Columns[3].HeaderText = "مدت تأخیر";
dgv1.Columns[4].HeaderText = "جریمه تأخیر";
dgv1.Columns[5].HeaderText = "تاریخ";
dgv1.Columns[6].HeaderText = "زمان کلاس";
dgv1.Columns[7].HeaderText = "زمان ورود";
}