سلام .
ببخشید من یه سوالی داشتم.
چرا خروجی برنامه ی من فقط 0؟؟
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace DGV_TEST
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
textBox1.Text = a.ToString();
}
int a = 1;
int [] array = new int [6];
int[] array2 = new int[2];
private void resoult()
{
if (Convert.ToBoolean(dataGridView1.Rows[0].Cells[0].Value) == true )
{
array[0] = 1;
array2[0] = 0;
array2[0] = array[0] + array[1] + array[2];
a = a * array2[0];
textBox1.Text = a.ToString();
}
else
{
array[0] = 0;
array2[0] = 0;
array2[0] = array[0] + array[1] + array[2];
a = a * array2[0];
textBox1.Text = a.ToString();
}
if (Convert.ToBoolean(dataGridView1.Rows[0].Cells[1].Value) == true)
{
array[1] = 1;
array2[0] = 0;
array2[0] = array[0] + array[1] + array[2];
a = a * array2[0];
textBox1.Text = a.ToString();
}
else
{
array[1] = 0;
array2[0] = 0;
array2[0] = array[0] + array[1] + array[2];
a = a * array2[0];
textBox1.Text = a.ToString();
}
if (Convert.ToBoolean(dataGridView1.Rows[0].Cells[2].Value) == true)
{
array[2] = 1;
array2[0] = 0;
array2[0] = array[0] + array[1] + array[2];
a = a * array2[0];
textBox1.Text = a.ToString();
}
else
{
array[2] = 0;
array2[0] = 0;
array2[0] = array[0] + array[1] + array[2];
a = a * array2[0];
textBox1.Text = a.ToString();
}
dataGridView1.RowCount = 3;
if (Convert.ToBoolean(dataGridView1.Rows[1].Cells[0].Value) == true)
{
array[3] = 1;
array2[1] = 0;
array2[1] = array[3] + array[4] + array[5];
a = a * array2[1];
textBox1.Text = a.ToString();
}
else
{
array[3] = 0;
array2[1] = 0;
array2[1] = array[3] + array[4] + array[5];
a = a * array2[1];
textBox1.Text = a.ToString();
}
if (Convert.ToBoolean(dataGridView1.Rows[1].Cells[1].Value) == true)
{
array[4] = 1;
array2[1] = 0;
array2[1] = array[3] + array[4] + array[5];
a = a * array2[1];
textBox1.Text = a.ToString();
}
else
{
array[4] = 0;
array2[1] = 0;
array2[1] = array[3] + array[4] + array[5];
a = a * array2[1];
textBox1.Text = a.ToString();
}
if (Convert.ToBoolean(dataGridView1.Rows[1].Cells[2].Value) == true)
{
array[5] = 1;
array2[1] = 0;
array2[1] = array[3] + array[4] + array[5];
a = a * array2[1];
textBox1.Text = a.ToString();
}
else
{
array[5] = 0;
array2[1] = 0;
array2[1] = array[3] + array[4] + array[5];
a = a * array2[1];
textBox1.Text = a.ToString();
}
}
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
resoult();
}
}
}
ببینید من میخوام زمانی که کاربر مقدار درون هر سلول رو که از نوع بولین هستند ،تقییر دادند این کد ها بررسی شوند.
به طوریکه اگر سطر اول به ترتیب 110 بود عدد 2 را در ارایه ی 2 قرار بدهد و ضرب در a کند و به همین ترتیب در سطر دوم البته نحوه قرار گیری 0 ها و 1 ها در دست کاربر باشد.
اینم لینک برنامه
http://s9.picofile.com/file/8276133376/DGV_TEST.rar.html
ضمنا در cellvaluechenged Event هم تست کردم ولی بازهم همان خروجی رو مده.
خیلی ممنون