public void generateTextBox() { try { f.panel1.Controls.Clear(); var x = 0; var y = 10; var z = 20; var gap = 30; //int a = 0; Label labData = null; TextBox txtData = null; int txtStartAddress = baseStartAddress; int labelStartAddress = baseStartAddress; for (int i = 0; i < baseTotalRegister; i++) { labData = new Label(); f.panel1.Controls.Add(labData); labData.Size = new Size(50, 20); labData.Location = new Point(y, z); labData.Font = new Font("Calibri", 8.25F, FontStyle.Regular, GraphicsUnit.Point, 0); switch (baseDatatype) { case "LED": var bulb = new LedBulb(); f.panel1.Controls.Add(bulb); bulb.Size = new Size(25, 25); bulb.Location = new Point(y + 50, z - 5); bulb.Padding = new Padding(3); bulb.Color = Color.Red; bulb.On = false; bulb.Tag = x; //if(!baseFunctionCode.Contains("2")) //{ bulb.MouseDoubleClick += writeRequestWindow_OnDoubleClick; //} bulb.Name = Convert.ToString(txtStartAddress + x); z = z + bulb.Size.Height + 10; labData.Text = Convert.ToString(labelStartAddress + x); break; case "Binary": labData.Location = new Point(gap, z); txtData = new TextBox(); f.panel1.Controls.Add(txtData); txtData.Size = new Size(110, 5); txtData.Location = new Point(gap + 50, z - 2); txtData.TextAlign = HorizontalAlignment.Right; txtData.Tag = x; txtData.MaxLength = 16; txtData.TextAlign = HorizontalAlignment.Right; txtData.MouseDoubleClick += writeRequestWindow_OnDoubleClick; z = z + txtData.Size.Height + 5; labData.Text = Convert.ToString(labelStartAddress + x); txtData.Name = Convert.ToString(txtStartAddress + x); break; case "Hex": txtData = new TextBox(); f.panel1.Controls.Add(txtData); txtData.Size = new Size(55, 20); txtData.Location = new Point(y + 50, z - 2); txtData.TextAlign = HorizontalAlignment.Right; txtData.Tag = x; txtData.MaxLength = 6; z = z + txtData.Size.Height + 5; txtData.MouseDoubleClick += writeRequestWindow_OnDoubleClick; labData.Text = Convert.ToString(labelStartAddress + x); txtData.Name = Convert.ToString(txtStartAddress + x); break; case "Int16": txtData = new TextBox(); f.panel1.Controls.Add(txtData); txtData.Size = new Size(55, 20); txtData.Location = new Point(y + 50, z - 2); txtData.TextAlign = HorizontalAlignment.Right; txtData.Tag = x; txtData.MaxLength = 5; txtData.MouseDoubleClick += writeRequestWindow_OnDoubleClick; z = z + txtData.Size.Height + 5; labData.Text = Convert.ToString(labelStartAddress + x); txtData.Name = Convert.ToString(txtStartAddress + x); break; case "Unsigned Int16": txtData = new TextBox(); f.panel1.Controls.Add(txtData); txtData.Size = new Size(55, 20); txtData.Location = new Point(y + 50, z - 2); txtData.TextAlign = HorizontalAlignment.Right; txtData.Tag = x; txtData.MaxLength = 5; txtData.MouseDoubleClick += writeRequestWindow_OnDoubleClick; z = z + txtData.Size.Height + 5; labData.Text = Convert.ToString(labelStartAddress + x); txtData.Name = Convert.ToString(txtStartAddress + x); break; case "Int32": x++; i++; txtData = new TextBox(); f.panel1.Controls.Add(txtData); txtData.Size = new Size(55, 20); txtData.Location = new Point(y + 50, z - 2); txtData.TextAlign = HorizontalAlignment.Right; txtData.Tag = x; txtData.MaxLength = 5; txtData.MouseDoubleClick += writeRequestWindow_OnDoubleClick; z = z + txtData.Size.Height + 5; labData.Text = Convert.ToString(labelStartAddress + x); txtData.Name = Convert.ToString(txtStartAddress + x); break; case "Unsigned Int32": x++; i++; txtData = new TextBox(); f.panel1.Controls.Add(txtData); txtData.Size = new Size(55, 20); txtData.Location = new Point(y + 50, z - 2); txtData.TextAlign = HorizontalAlignment.Right; txtData.Tag = x; txtData.MaxLength = 5; txtData.MouseDoubleClick += writeRequestWindow_OnDoubleClick; z = z + txtData.Size.Height + 5; labData.Text = Convert.ToString(labelStartAddress + x); txtData.Name = Convert.ToString(txtStartAddress + x); break; case "Float": x++; i++; txtData = new TextBox(); f.panel1.Controls.Add(txtData); txtData.Size = new Size(70, 20); txtData.Location = new Point(y + 50, z - 2); txtData.TextAlign = HorizontalAlignment.Right; txtData.Tag = x; txtData.MaxLength = 9; z = z + txtData.Size.Height + 5; txtData.MouseDoubleClick += writeRequestWindow_OnDoubleClick; txtData.Name = Convert.ToString(txtStartAddress + x); if (baseFunctionCode.Contains("3")) { labData.Text = Convert.ToString(labelStartAddress + x + 400000); } else { labData.Text = Convert.ToString(labelStartAddress + x + 300000); } break; } // End of Switch Case if (!baseDatatype.Equals("LED")) { txtData.ReadOnly = true; } x++; if (z > f.panel1.Size.Height - 30) { var inc = 130; y = y + inc; z = 20; gap += 190; } } // End For loop _displayCtrlCount = x; //UpdateData(); } catch (Exception e) { MessageBox.Show("Exception while generating box"); } }
// This function only for Write data Functionality, //And validation is not put in this function otherwise basdatatable generatetextbox() and this function are same. public void generateTextBox() { this.panel1.Controls.Clear(); var x = 0; var y = 10; var z = 20; var gap = 30; Label labData = null; TextBox txtData = null; int textboxStartAddress = WRFBaseDataTable.baseStartAddress; int labelStartAddress = WRFBaseDataTable.baseStartAddress; for (int i = 0; i < WRFBaseDataTable.baseTotalRegister; i++) { labData = new Label(); this.panel1.Controls.Add(labData); labData.Size = new Size(40, 20); labData.Location = new Point(y, z); labData.Font = new Font("Calibri", 8.25F, FontStyle.Regular, GraphicsUnit.Point, 0); switch (WRFBaseDataTable.baseDatatype) { case "LED": var bulb = new LedBulb(); this.panel1.Controls.Add(bulb); bulb.Size = new Size(25, 25); bulb.Location = new Point(y + 40, z - 5); bulb.Padding = new Padding(3); bulb.Color = Color.Red; bulb.On = false; bulb.Tag = x; bulb.Click += WRFBaseDataTable.BulbClick; bulb.Name = Convert.ToString(textboxStartAddress + x); z = z + bulb.Size.Height + 10; labData.Text = Convert.ToString(labelStartAddress + x); break; case "Binary": labData.Location = new Point(gap, z); txtData = new TextBox(); this.panel1.Controls.Add(txtData); txtData.Size = new Size(110, 5); txtData.Location = new Point(gap + 40, z - 2); txtData.TextAlign = HorizontalAlignment.Right; txtData.Tag = x; txtData.MaxLength = 16; txtData.TextAlign = HorizontalAlignment.Right; txtData.Leave += WRFBaseDataTable.TxtDataBinaryLeave; txtData.Enter += WRFBaseDataTable.txtData_Enter; txtData.KeyPress += WRFBaseDataTable.txtDataBinaryKeyPress; z = z + txtData.Size.Height + 5; labData.Text = Convert.ToString(labelStartAddress + x); txtData.Name = Convert.ToString(textboxStartAddress + x); break; case "Hex": txtData = new TextBox(); this.panel1.Controls.Add(txtData); txtData.Size = new Size(55, 20); txtData.Location = new Point(y + 40, z - 2); txtData.TextAlign = HorizontalAlignment.Right; txtData.Tag = x; txtData.MaxLength = 4; z = z + txtData.Size.Height + 5; txtData.Leave += WRFBaseDataTable.TxtDataHexLeave; txtData.Enter += WRFBaseDataTable.txtData_Enter; txtData.KeyPress += WRFBaseDataTable.txtDataHexKeyPress; labData.Text = Convert.ToString(labelStartAddress + x); txtData.Name = Convert.ToString(textboxStartAddress + x); break; case "Integer": txtData = new TextBox(); this.panel1.Controls.Add(txtData); txtData.Size = new Size(55, 20); txtData.Location = new Point(y + 40, z - 2); txtData.TextAlign = HorizontalAlignment.Right; txtData.Tag = x; txtData.MaxLength = 5; txtData.Leave += WRFBaseDataTable.TxtInt16DataLeave; txtData.Enter += WRFBaseDataTable.txtData_Enter; txtData.KeyPress += WRFBaseDataTable.txtDataIntegerKeyPress; z = z + txtData.Size.Height + 5; labData.Text = Convert.ToString(labelStartAddress + x); txtData.Name = Convert.ToString(textboxStartAddress + x); break; case "Int16": txtData = new TextBox(); this.panel1.Controls.Add(txtData); txtData.Size = new Size(55, 20); txtData.Location = new Point(y + 40, z - 2); txtData.TextAlign = HorizontalAlignment.Right; txtData.Tag = x; txtData.MaxLength = 5; txtData.Leave += WRFBaseDataTable.TxtInt16DataLeave; txtData.Enter += WRFBaseDataTable.txtData_Enter; txtData.KeyPress += WRFBaseDataTable.txtDataIntegerKeyPress; z = z + txtData.Size.Height + 5; labData.Text = Convert.ToString(labelStartAddress + x); txtData.Name = Convert.ToString(textboxStartAddress + x); break; case "Unsigned Int16": txtData = new TextBox(); this.panel1.Controls.Add(txtData); txtData.Size = new Size(55, 20); txtData.Location = new Point(y + 40, z - 2); txtData.TextAlign = HorizontalAlignment.Right; txtData.Tag = x; txtData.MaxLength = 5; txtData.Leave += WRFBaseDataTable.TxtUInt16DataLeave; txtData.Enter += WRFBaseDataTable.txtData_Enter; txtData.KeyPress += WRFBaseDataTable.txtDataIntegerKeyPress; z = z + txtData.Size.Height + 5; labData.Text = Convert.ToString(labelStartAddress + x); txtData.Name = Convert.ToString(textboxStartAddress + x); break; case "Int32": x++; i++; txtData = new TextBox(); this.panel1.Controls.Add(txtData); txtData.Size = new Size(55, 20); txtData.Location = new Point(y + 40, z - 2); txtData.TextAlign = HorizontalAlignment.Right; txtData.Tag = x; txtData.MaxLength = 5; txtData.Leave += WRFBaseDataTable.TxtInt32DataLeave; txtData.Enter += WRFBaseDataTable.txtData_Enter; txtData.KeyPress += WRFBaseDataTable.txtDataIntegerKeyPress; z = z + txtData.Size.Height + 5; labData.Text = Convert.ToString(labelStartAddress + x); txtData.Name = Convert.ToString(textboxStartAddress + x); break; case "Unsigned Int32": x++; i++; txtData = new TextBox(); this.panel1.Controls.Add(txtData); txtData.Size = new Size(55, 20); txtData.Location = new Point(y + 40, z - 2); txtData.TextAlign = HorizontalAlignment.Right; txtData.Tag = x; txtData.MaxLength = 5; txtData.Leave += WRFBaseDataTable.TxtUInt32DataLeave; txtData.Enter += WRFBaseDataTable.txtData_Enter; txtData.KeyPress += WRFBaseDataTable.txtDataIntegerKeyPress; z = z + txtData.Size.Height + 5; labData.Text = Convert.ToString(labelStartAddress + x); txtData.Name = Convert.ToString(textboxStartAddress + x); break; case "Float": x++; i++; txtData = new TextBox(); this.panel1.Controls.Add(txtData); txtData.Size = new Size(55, 20); txtData.Location = new Point(y + 40, z - 2); txtData.TextAlign = HorizontalAlignment.Right; txtData.Tag = x; txtData.MaxLength = 7; z = z + txtData.Size.Height + 5; txtData.Leave += WRFBaseDataTable.TxtDataFloatLeave; txtData.Enter += WRFBaseDataTable.txtData_Enter; txtData.KeyPress += WRFBaseDataTable.txtDataFloatKeyPress; labData.Text = Convert.ToString(labelStartAddress + x); txtData.Name = Convert.ToString(textboxStartAddress + x); break; } // End of Switch Case x++; if (z > this.panel1.Size.Height - 30) { var inc = 130; y = y + inc; z = 20; gap += 190; } } // End For loop WRFBaseDataTable._displayCtrlCount = x; UpdateData(); }