Ясно, частный недействительными с кнопкой c#
Мой код работает и автоматически создает кнопки...
Все работает нормально
Мне нужна четкая форма при нажатии кнопки
какая-то помощь?
Что я уже пробовал:
private void artikli_buttoni() //pice { SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=bss;Integrated Security=True"); //SqlConnection con = new SqlConnection(cs); SqlCommand cmd = new SqlCommand("SELECT ime+'-'+cijena_sa_porezom, data FROM roba_usluge where grupa_artikala='Piće'", con); var da = new SqlDataAdapter(cmd); var ItemTable = new DataTable(); da.Fill(ItemTable); con.Open(); Int32 count = ItemTable.Rows.Count; con.Close(); int top = 70; int left = 10; for (int i = 1; i <= count; i++) { Button button = new Button(); button.Size = new Size(128, 128); button.BackColor = Color.Transparent; //button.FlatStyle = FlatStyle.Flat; button.FlatAppearance.BorderSize = 0; button.Font = new System.Drawing.Font("Trebuchet MS", 10); button.TextAlign = ContentAlignment.TopCenter; button.BackgroundImageLayout = ImageLayout.Zoom; button.Left = left; button.Top = top; button.Text = ItemTable.Rows[i - 1][0].ToString(); if (ItemTable.Rows[i - 1][1] != null) { try { byte[] _byte = (byte[])ItemTable.Rows[i - 1][1]; MemoryStream ms = new MemoryStream(_byte); button.BackgroundImage = System.Drawing.Image.FromStream(ms);//bilo image } catch { } } button.Click += new EventHandler(this.btn_Click); this.Controls.Add(button); if (i % 5 == 0) { left = 10; top += button.Height + 2; } else { left += button.Width + 2; } } }
Goran Bibic
При нажатии на кнопку Я хочу новое значение
На форме остаются кнопки от приватной пустоты
0x01AA
Ни этот комментарий, ни вопрос не понятны :(
Что значит Ясная форма? Очистка всех ваших динамических созданных кнопок? Если да, то самый ленивый способ-зарегистрировать все динамические созданные кнопки в списке. Этот список можно использовать для очистки кнопок.
Goran Bibic
Очистка всех динамических созданных кнопок. Да это вопрос
0x01AA
Затем, пока вы создаете кнопки, зарегистрируйте их в списке и используйте этот список, чтобы удалить кнопки из вашей формы с помощью чего-то вроде Controls.Remove(Control value)
#realJSOP
Не забудьте также отцепить обработчик событий для каждой кнопки.
0x01AA
+5
Goran Bibic
Прямо что делать?
0x01AA
Что-то вроде (обратите внимание, псевдокод):
Форма:List<Button> dynBtnList= new...;
AddBtn:
for each button needed:
Button btn= new Button...
btn.Click+= this.btn_Click;
dynBtnList.Add(btn)
this.Controls.Add(btn);
RemoveBtn:
for each(Button btn in dynBtnList;)
{
btn.Click-= this.btn_Click;
Controls.Remove(btn);
}
dynBtnList.Clear();
Goran Bibic
Я попробую сейчас
0x01AA
Удачи :-)
Goran Bibic
Я решаю...Спасибо...опубликуйте решение, которое я принимаю
0x01AA
Спасибо