I have recently made a C# WinForm calculator project which fills a single 3x4 block of text boxes. Like so:
private void calculate_Click(object sender, EventArgs e)
{
TextBox[][] textBoxOutputGroups = new[]
{
new [] { tb_Stress111, tb_Stress112, tb_Stress113, },
new [] { tb_Stress121, tb_Stress122, tb_Stress123, },
new [] { tb_Stress131, tb_Stress132, tb_Stress133, },
new [] { tb_Stress141, tb_Stress142, tb_Stress143, },
};
if (TextBox1.Text == "" || TextBox2.Text == "")
{
MessageBox.Show("Some textboxes are empty!", "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
double var1;
double var2;
double var3;
var1 = Convert.ToDouble(TextBox1.Text, CultureInfo.InvariantCulture);
var2 = Convert.ToDouble(TextBox2.Text, CultureInfo.InvariantCulture);
if (TextBox3.Text == "")
{
var3 = (-0.007 * var1 * 2) + 1.8;
}
else
{
var3 = Convert.ToDouble
(TextBox3.Text, CultureInfo.InvariantCulture);
}
for (int WP = 0; WP <= 3; WP++)
{
var S1 = Math.Pow((var2 - var1) * WP, 2);
var S2 = Math.Pow(4 + var3, 2);
var S3 = Math.Pow(var1, 2);
double[] outputValues = new[]
{
S1 * var2 / 3,
S1 * S3 / WP,
var3 + var1 * S2 / WP,
};
for (int i = 0; i < outputValues.Length; i++)
{
textBoxOutputGroups[WP][i].Text =
outputValues[i].ToString(CultureInfo.CreateSpecificCulture("en-GB"));
}
}
}
}
What I have tried:
What I'm trying to do now is repeat this with 11 groups of 3x4 textbox groups (which I have already created and named in the form), outputs of which would be filled and modified based on the conditions of the new loops which contain the '
j
' variable also a new
tadd
variable would be added.
Something like this:
private void calculate_Click(object sender, EventArgs e)
{
TextBox[][] textBoxOutputGroups = new[]
{
new [] { tb_Stress111, tb_Stress112, tb_Stress113, },
new [] { tb_Stress121, tb_Stress122, tb_Stress123, },
new [] { tb_Stress131, tb_Stress132, tb_Stress133, },
new [] { tb_Stress141, tb_Stress142, tb_Stress143, },
new [] { tb_Stress211, tb_Stress212, tb_Stress213, },
new [] { tb_Stress221, tb_Stress222, tb_Stress223, },
new [] { tb_Stress231, tb_Stress232, tb_Stress233, },
new [] { tb_Stress241, tb_Stress242, tb_Stress243, },
new [] { tb_Stress311, tb_Stress312, tb_Stress313, },
new [] { tb_Stress321, tb_Stress322, tb_Stress323, },
new [] { tb_Stress331, tb_Stress332, tb_Stress333, },
new [] { tb_Stress341, tb_Stress342, tb_Stress343, },
new [] { tb_Stress411, tb_Stress412, tb_Stress413, },
new [] { tb_Stress421, tb_Stress422, tb_Stress423, },
new [] { tb_Stress431, tb_Stress432, tb_Stress433, },
new [] { tb_Stress441, tb_Stress442, tb_Stress443, },
new [] { tb_Stress511, tb_Stress512, tb_Stress513, },
new [] { tb_Stress521, tb_Stress522, tb_Stress523, },
new [] { tb_Stress531, tb_Stress532, tb_Stress533, },
new [] { tb_Stress541, tb_Stress542, tb_Stress543, },
new [] { tb_Stress611, tb_Stress612, tb_Stress613, },
new [] { tb_Stress621, tb_Stress622, tb_Stress623, },
new [] { tb_Stress631, tb_Stress632, tb_Stress633, },
new [] { tb_Stress641, tb_Stress642, tb_Stress643, },
new [] { tb_Stress711, tb_Stress712, tb_Stress713, },
new [] { tb_Stress721, tb_Stress722, tb_Stress723, },
new [] { tb_Stress731, tb_Stress732, tb_Stress733, },
new [] { tb_Stress741, tb_Stress742, tb_Stress743, },
new [] { tb_Stress811, tb_Stress812, tb_Stress813, },
new [] { tb_Stress821, tb_Stress822, tb_Stress823, },
new [] { tb_Stress831, tb_Stress832, tb_Stress833, },
new [] { tb_Stress841, tb_Stress842, tb_Stress843, },
new [] { tb_Stress911, tb_Stress912, tb_Stress913, },
new [] { tb_Stress921, tb_Stress922, tb_Stress923, },
new [] { tb_Stress931, tb_Stress932, tb_Stress933, },
new [] { tb_Stress941, tb_Stress942, tb_Stress943, },
new [] { tb_Stress1011, tb_Stress1012, tb_Stress1013, },
new [] { tb_Stress1021, tb_Stress1022, tb_Stress1023, },
new [] { tb_Stress1031, tb_Stress1032, tb_Stress1033, },
new [] { tb_Stress1041, tb_Stress1042, tb_Stress1043, },
new [] { tb_Stress1111, tb_Stress1112, tb_Stress1113, },
new [] { tb_Stress1121, tb_Stress1122, tb_Stress1123, },
new [] { tb_Stress1131, tb_Stress1132, tb_Stress1133, },
new [] { tb_Stress1141, tb_Stress1142, tb_Stress1143, },
new [] { tb_Stress1211, tb_Stress1212, tb_Stress1213, },
new [] { tb_Stress1221, tb_Stress1222, tb_Stress1223, },
new [] { tb_Stress1231, tb_Stress1232, tb_Stress1233, },
new [] { tb_Stress1241, tb_Stress1242, tb_Stress1243, },
};
if (TextBox1.Text == "" || TextBox2.Text == "")
{
MessageBox.Show("Some textboxes are empty!", "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
double var1;
double var2;
double var3;
var1 = Convert.ToDouble
(TextBox1.Text, CultureInfo.InvariantCulture);
var2 = Convert.ToDouble
(TextBox2.Text, CultureInfo.InvariantCulture);
if (TextBox3.Text == "")
{
var3 = (-0.007 * var1 * 2) + 1.8;
}
else
{
var3 = Convert.ToDouble(TextBox3.Text == "",
CultureInfo.InvariantCulture);
}
var tadd = ((1.25 * var3) - var3) / 6;
for(int j = 1; j <= 12; j++)
{
if(j > 1)
{
var3 = var3 + (((Math.Abs(7 - j) * (-1)) + 6) * tadd);
}
for (int WP = 0; WP <= 3; WP++)
{
var S1 = Math.Pow((var2 - var1) * WP, 2);
var S2 = Math.Pow(4 + var3, 2);
var S3 = Math.Pow(var1, 2);
double[] outputValues = new[]
{
S1 * var2 / 3,
S1 * S3 / WP,
var3 + var1 * S2 / WP,
};
for (int i = 0; i < outputValues.Length; i++)
{
textBoxOutputGroups[WP][i].Text =
outputValues[i].ToString(CultureInfo.CreateSpecificCulture("en-GB"));
}
}
}
}
}
One above only filled the textboxes from the original
textBoxOutputGroups
leaving the rest empty.
How should I do this?