Я делаю класс меню, который заставляет меня легко управлять меню
Для облегчения понимания посмотрите на изображение ниже
C# как добавить метки класса, чтобы сформировать Контролируйте
Если я хочу сделайте эти меню, я создаю свой класс меню и добавлю 7 меню в класс, задаю текст, задаю цвет, задаю позицию ...
Все в порядке, Но у меня проблема с элементами управления.
Когда я создал класс меню в Form1.cs, я не знаю, как добавить метки в элементы управления Form1.
Способ, которым я занимаюсь, - заставить класс получить контроль над формой и добавить метки в класс.
Итак, есть ли способы получить элементы родительского класса в его дочернем классе?
как
главный пример класса
namespace Tetris
{
public partial class Form_Start : Form
{
public Form_Start()
{
InitializeComponent();
Menu menu = new Menu(10,postion_x,postion_y,str_arr);
}
}
}
класс меню Пример
class menu
{
Label[] lab;
List<string> str = new List<string>();
int num, start_x, start_y, x_interval, y_interval;
public create_menu(int value, int start_x, int start_y, int x_interval, int y_interval, List<string> str)
{
num = value;
lab = new Label[num];
start_x = this.start_x;
start_y = this.start_y;
x_interval = this.x_interval;
y_interval = this.y_interval;
str = this.str;
int count = 0;
foreach (Label label in lab)
{
label.Text = str[count];
label.Location = new System.Drawing.Point(start_x + x_interval * count, start_y + y_interval * count);
count++;
Parent.Controls.Add(label); // <- I want to know this code
}
}
}
Если у вас есть какие-либо идеи лучше или знаете другие способы, пожалуйста, скажите мне. thank you
------------------------------------------ -------
Отправляя элементы управления классу, я добавил метки в форму.
create_menu menu = new create_menu(3, 20, 20, 0, 10, menu_str, this.Controls);
public create_menu(int index, int start_x_, int start_y_, int x_interval_, int y_interval_, List<string> str_, Control.ControlCollection ctrl)
{ ctrl.Add(label[i]); }
Есть ли идеи лучше?
Если я правильно вас понял - у вас есть элемент управления меню с несколькими ярлыками на нем, чтобы показать структуру меню. Когда вы добавляете экземпляр этого элемента управления в форму 'form1', все ярлыки, имеющиеся в вашем элементе управления меню, будут добавлены в вашу форму. Правильно ли я это интерпретировал? В этом случае ваш элемент управления меню будет являться родителем надписей меню, а form1 будет родителем элемента управления меню. Итак, какая именно проблема вы здесь столкнулись? – RBT
@RBT да, но я хочу знать, как класс получает контроль над его родителем – AJH