Member 9983063 Ответов: 3

Как расположить динамическую кнопку


Привет, ребята,я надеюсь, что вы будете в порядке, ребята, я столкнулся с логическими проблемами, что это
мне нужны такие пуговицы в М[^]
в моей форме но я не могу этого сделать пожалуйста помогите мне как я могу это сделать
Спасибо

Что я уже пробовал:

Кнопка button = отправитель как кнопка;
кнопка струнных инструментов по умолчанию =.Текст;
Ящик для сообщений.Показать(платформы);
инт идентификатор catid = OperationAccess.GetId ("SELECT catID from tbl_Catagary where name='" + button.Текст + "'");
Кнопки списка = новый список();
List & lt;string & gt; All_Catagary = OperationAccess.Метод getname("выбрать наименование из tbl_product где идентификатор catid=" + catid с + "");
интервал повторения = 0;
for (int i = 0; i < All_Catagary.Граф; i++)
{
Кнопка Productbtn = новая кнопка();
Productbtn.Текст = All_Catagary[я].Метод toString();
string Command = " SELECT [image] FROM tbl_product where name ='" + Productbtn.Текст + "'";
string path = OperationAccess.GetImage (Команда);
строки appPath = путь.GetDirectoryName(Приложение.ExecutablePath) + @ " \ProductImage\";
строка TotalPath = appPath + path;
Productbtn.система визуализации.Рисование.Изображение.FromFile(TotalPath);
Productbtn.Видимое = истинное;
Productbtn.Местоположение = новая точка(3 + повторение * 107, 3);
Productbtn.Высота = 54;
Productbtn.Ширина = 110;

Productbtn.BackColor = Цвет.FromArgb(40, 40, 40);
Productbtn.ForeColor = Цвет.Белый;
Productbtn.Топ =10;
Productbtn.Font = новый шрифт ("Lucida Console", 16);
кнопки.Добавить (Productbtn);
повторение++;
это.panel9.Управления.Добавить (Productbtn);
Productbtn.Click += new EventHandler(Productbtn_Click);

Member 9983063

ну я просто хочу решить этот вопрос после этого я никогда не буду использовать конкатенацию пожалуйста братан помогите мне как я могу решить эту проблему

3 Ответов

Рейтинг:
2

Simon_Whale

Я вижу пару проблем.

1. Как указал Рави, вам нужно добавить только кнопку на панель.
2. вам нужно установить верхние и левые свойства кнопки, чтобы расположить ее на экране там, где вы хотите

в данный момент Вы устанавливаете все из них на 10, я бы сделал что-то подобное приведенному ниже (правда, я устанавливаю только 5 подряд, но это должно дать вам представление)

int leftPosition = 10;
for(int i =0; i< 5;i++)
{
  Button myButton = new Button();
  myButton.Name = "Button" + i.ToString();
  myButton.Text = i.ToString();
  myButton.width = 110;
  myButton.Height = 58;
  myButton.top = 10;
  myButton.Left = leftPosition;
  panel1.Controls.Add(myButton);

  leftPosition += 120;
}


Рейтинг:
1

Member 9983063

Ну я решил эту проблему сам с помощью этой ссылки .net-динамическое создание кнопок и размещение их в заданном порядке с помощью C# - переполнение стека[^]
Спасибо вам, ребята, за мою помощь.


Рейтинг:
0

Ravi Bhavnani

Есть несколько проблем с вашим кодом.  Но, возможно, самое главное, вы просто добавляете созданные кнопки в список, а не в форму.  Вместо того, чтобы делать:

buttons.Add(Productbtn);
пробовать:
this.Controls.Add(Productbtn);
/ Рави