.NET 2.x Динамическое добавление кнопок на форму - C#
Формулировка задачи:
Чет не пойму почему не выводятся кнопки на форму, до этого когда не было метода call_button_filling() а цикл и добавление кнопок происходило по событию Form2_Load всё работало.... Объясните где затупил ?
И за одно расскажите как нормальные люди в этой ситуации без трёх условий IF обошлись бы
namespace WindowsFormsApplication5 { public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void Form2_Load(object sender, EventArgs e) { form_filling ff = new form_filling(); ff.call_button_filling(); } } public partial class form_filling : Form { public void call_button_filling() { for (int k = 1; k <= 9; k++) { Control a = button_filling(k); Controls.Add(a); } } private Control button_filling(int k) { Button button = new Button(); button = new Button(); button.Name = "bt"+k; button.Size = new System.Drawing.Size(50, 45); if (k <= 3) { button.Location = new System.Drawing.Point(50*(k), 50); return button; } if (k <= 6) { button.Location = new System.Drawing.Point(50*(k-3), 50*2); return button; } button.Location = new System.Drawing.Point(50*(k-6), 50*3); return button; } } }
Решение задачи: «.NET 2.x Динамическое добавление кнопок на форму»
textual
Листинг программы
namespace SmartDeviceProject4 { public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void Form2_Load(object sender, EventArgs e) { form_filling.call_button_filling(this); form_filling.textb_filling(this); } } public partial class form_filling { public static void call_button_filling(Control sender) { for (int k = 0; k <= 11; k++) { sender.Controls.Add(button_filling(k)); } } private static Control button_filling(int k) { Button button = new Button(); button = new Button(); button.Name = "bt" + k; button.Size = new System.Drawing.Size(50, 45); button.Location = new System.Drawing.Point((k % 3 + 1) * 50, (k / 3 + 1) * 50); return button; } public static void textb_filling(Control sender_2) { TextBox textb = new TextBox(); textb.Name = "textb"; textb.Size = new System.Drawing.Size(100, 100); textb.Location = new System.Drawing.Point(100,100); sender_2.Controls.Add(textb); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д