Сделать имя группы контроля в//получаем имя управления и соответствующие полю
Всем привет,
Во-первых, вот мой код.
private void Form1_Load(object sender, EventArgs e) { foreach (var button in Controls.OfType<System.Windows.Forms.Control>()) { button.Click += button_Click; } } private void button_Click(object sender , EventArgs e) { Console.WriteLine("the Control with the name "+ this.Controls[((System.Windows.Forms.Control)(sender)).Name].Name+ "was clicked"); }
Каждый элемент управления в классе Control печатает свое имя, если он был нажат.
Это прекрасно работает, но когда элемент управления, например кнопка или pictureBox, находится в групповом поле, он больше не дает мне имени, если я нажимаю на него. Когда я нажимаю на группы, это дает мне название группы. Похоже, что у меня больше нет доступа к именам элементов управления.
На самом деле мой вопрос заключается в том, как я могу получить имя нажатого элемента управления и связанного с ним группового поля, если элементы управления находятся в групповом поле. Я все равно хотел упомянуть об этой проблеме.
Мне это нужно точно так же, как и приведенный выше код. Я не хочу реализовывать для каждого элемента управления отдельный метод.
Я был бы очень признателен, если бы кто-нибудь мог дать мне предложение.
Спасибо.
Что я уже пробовал:
Google, MSDN, глядя на общие проблемы в CodeProject.com
[no name]
Группа имеет свой собственный набор элементов управления. Вам нужно будет проверить его вместо коллекции элементов управления forms.