سلام
دوست عزیز
2تا از متداولترین راهها رو میگم
ابتدا باید توی اولین فرم یه متغییر ایجاد کنی و مقدارش رو برابر صفر قرار بدی و تو فرمهای بعدی نباید بهش مقدار بدی بعد امتیاز گرفته شده اعم از صفر یا 1 رو به فرم بعدی پاس میدی و در هر فرمی با متغییر جدید این امتیاز رو میگیری و اینو جمبنید میکنی اخرش امتیاز رو توی تکست یا دیتابیس ذخیر میکنی و نمایش میدی -این1
این فرم1 هست
int m = 0;
این فرمهای بعدی
int m;
public Form2(int n)
{
InitializeComponent();
m = n;
}
البته پروژه ای تو همین سطح برات ارسال میکنم همینجا
http://s8.picofile.com/file/8333354218/Quiz.rar.html
و اما راه دوم........من توی یکی از پروژه هام از این روش استفاده کردم ازمون 4 گزینه ای
شما امتیاز هرصفحه رو ثبت میکنی بعد در پایان توی دیتاگرید یا هرجایی خواستید نشون میدید و اینکه میخاایید قبل از حذف نشون بدید یه راه مناسب برات نشون میدم
روی این کد خیلی کار کردم
وقتی امتیازات رو توی دیتابیس ذخیره کردی این کد همه ستون رو برات جمع میزنه
private void CalcScore()
{
int[] columnData = new int[dataGridView1.Rows.Count];
columnData = (from DataGridViewRow row in dataGridView1.Rows
where row.Cells[1].FormattedValue.ToString() != string.Empty
select Convert.ToInt32(row.Cells[1].FormattedValue)).ToArray();
lblsum.Text = columnData.Sum().ToString();
}
و بعد اگه خواستی یه تیکه یعنی همین کد رو پاک کنی منظورم امتیازه ها قبل از حذف ذخیره میکنه
string tim = DateTime.Now.ToString("yyyy ddd d MMM HH:mm");
برای نمایش امتیازات حذف شد این تاریخ کاربرد داره
if (MessageBox.Show("آیا میخاهید امتیازات پاک شود؟", "Warning", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
try
{
using (StreamWriter Sw=new StreamWriter("Score1.txt",true))
{
try
{
Sw.WriteLine("Your Score: "+lblsum.Text+" in"+" "+tim) ;
Sw.WriteLine();
}
finally
{
Sw.Flush();
Sw.Dispose();
Sw.Close();
}
}
اینجا هم بعد از ذخیره امتیازات حذف میشن
/// int DLT = Convert.ToInt16(dataGridView1.CurrentRow.Cells[1].Value.ToString());
OleDbConnection cnn = new OleDbConnection(cnnclss.conection);
OleDbCommand cmd = new OleDbCommand("Delete From tblanswer", cnn);
cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();
showdataGrid();
CalcScore();
}
catch
{
}
finally
{
// MessageBox.Show("Success");
ToolTip toool = new ToolTip();
toool.Show("امتیاز شما صفر شد", panel1, 2500);
}
}