I have a TableLayoutPanel (tlp) with rows. I add rows manually with a button. Every row which I created below the last one, has a button that will remove the row from tlp. Here is the code:
private void btnTSatirEkle_Click(object sender, EventArgs e)
{
tlpTDersRows = tlpTDers.RowCount;
tlpTDers.RowCount++;
DateTimePicker dtp = new DateTimePicker();
dtp.Name = "dtpTR" + (tlpTDersRows).ToString();
DateTimePicker dtp2 = (DateTimePicker)tlpTDers.Controls["dtpTR" + (tlpTDersRows - 1).ToString()];
dtp.Value = dtp2.Value.AddDays(1);
dtp.Dock = DockStyle.Fill;
tlpTDers.Controls.Add(dtp, 0, tlpTDersRows);
ComboBox comb = new ComboBox();
comb.Name = "cbxTR" + (tlpTDersRows).ToString();
comb.Dock = DockStyle.Fill;
comb.Items.AddRange(devamDur);
tlpTDers.Controls.Add(comb, 1, tlpTDersRows);
TextBox txtr = new TextBox();
txtr.Name = "txtTR" + (tlpTDersRows).ToString();
txtr.Dock = DockStyle.Fill;
txtr.Multiline = true;
tlpTDers.Controls.Add(txtr, 2, tlpTDersRows);
oldX = btnTSatirEkle.Location.X;
oldY = btnTSatirEkle.Location.Y;
Button buttonNew = new Button();
buttonNew.Name = "btnDelTR" + (tlpTDersRows - 1).ToString();
buttonNew.Text = "-";
buttonNew.Location = new Point(oldX, oldY);
buttonNew.Size = btnTSatirEkle.Size;
this.Controls.Add(buttonNew);
buttonNew.Click += new EventHandler(SatirSil); //I get error here, even I write SatirSil(sender, e, tlpTDersRows - 1)..
btnTSatirEkle.Location = new Point(644, tlpTDers.Controls["dtpTR" + tlpTDersRows.ToString()].Location.Y + 12);
tlpTDersRows++;
}
private void SatirSil(object sender, EventArgs e, int rowNo)
{
//codes
}
I want to send the row number as parameter to SatirSil method (which will be called when I click on buttonNew_Click event).
Any ideas?
Change:
buttonNew.Click += new EventHandler(SatirSil);
to
buttonNew.Click += new EventHandler((snd, ev)=>SatirSil(snd,ev,rowno));
or using your own variable (i.e. tlpTDersRows) it could be like this:
buttonNew.Click += new EventHandler((snd, ev)=>SatirSil(snd,ev,tlpTDersRows-1));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With