Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.52/29: Рейтинг темы: голосов - 29, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 10.09.2016
Сообщений: 3
1

Как получить имя объекта из sender?

10.09.2016, 12:07. Показов 5821. Ответов 4
Метки нет (Все метки)

Следующий код - не работает:
C++
1
2
3
4
5
6
private: System::Void button_Click(System::Object^  sender, System::EventArgs^  e) 
{
    System::Windows::Forms::Button b;
    b = (Button)sender;
    Text1->Text = Text1->Text + b.Text;
}
Ошибки при компиляции:
4 Error (active) no suitable user-defined conversion from "System::Object ^" to "System::Windows::Forms::Button" exists
4 Error C2440 'type cast': cannot convert from 'System::Object ^' to 'System::Windows::Forms::Button'
4 Error C2440 '=': cannot convert from 'System::Windows::Forms::Button' to 'System::Windows::Forms::Button ^'
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.09.2016, 12:07
Ответы с готовыми решениями:

Как в обработчике события получить из sender имя объекта, вызвавшего событие, а не тип?
Добрый день! Помогите, пожалуйста, решить такой вопрос: Есть 2 объекта класса: private Sphere...

Как получить имя label из sender?
Нужно при клике на 'label1' передать имя первого лейбла во второй. public Form1() { ...

Как внутри события получить имя объекта
Доброго времени суток, всем. Все наверное в курсе - когда интерфейс к программе пишешь,...

Как получить имя объекта находящегося в DataGrid.RowDetailsTemplate
Как получить имя объекта находящегося в DataGrid.RowDetailsTemplate? это описано в xaml...

4
1464 / 1172 / 551
Регистрация: 08.01.2012
Сообщений: 4,517
10.09.2016, 12:12 2
по нерусски же сказано:
Цитата Сообщение от zapess Посмотреть сообщение
Error C2440 'type cast': cannot convert from 'System::Object ^' to 'System::Windows::Forms::Button'
0
0 / 0 / 0
Регистрация: 10.09.2016
Сообщений: 3
10.09.2016, 12:38  [ТС] 3
Цитата Сообщение от MansMI Посмотреть сообщение
по нерусски же сказано:
Цитата Сообщение от zapess Посмотреть сообщение
4 Error C2440 'type cast': cannot convert from 'System::Object ^' to 'System::Windows::Forms::Button'
А без ^ "крышечки" - та же самая ситуация:
4 Error C2440 'type cast': cannot convert from 'System::Object' to 'System::Windows::Forms::Button'

Но, как бы, очень хочется таки как-то получить это клятое имя, тем более, что на MSDN такой код типа работает (строка 6):
C#
1
2
3
4
5
6
7
8
9
10
11
12
void GreetingBtn_Click(Object sender, EventArgs e)
    {
        // When the button is clicked,
        // change the button text, and disable it.
 
        Button clickedButton = (Button)sender;
        clickedButton.Text = "...button clicked...";
        clickedButton.Enabled = false;
 
        // Display the greeting label text.
        GreetingLabel.Visible = true;
    }
0
1464 / 1172 / 551
Регистрация: 08.01.2012
Сообщений: 4,517
10.09.2016, 13:02 4
Лучший ответ Сообщение было отмечено zapess как решение

Решение

C++
1
2
        System::Windows::Forms::Button^ b = (Button^)sender;
        Text = "My name is "+b->Text;
2
0 / 0 / 0
Регистрация: 10.09.2016
Сообщений: 3
10.09.2016, 13:15  [ТС] 5
Сработало, спасибо.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.09.2016, 13:15

Как определить тип Sender'a объекта при использовании динамически созданных объекитах
Есть динамически созданные объекты на форме: int counter=0; for(int i=1; i<4; i++) { ...

Получить имя родительского объекта
Здравствуйте. Как получить имя контейнера Grid, в котором расположен элемент Button?

Получить имя объекта под курсором
Ребята как получить имя контрола на который направлена мышка или нажат пальцем?

Как в билдере получить с сервера (MySQL 5.1, имя базы "skola", имя table "info") имя столбцов и имя строк
Доброва времены суток Как в билдере получить с сервера (MySQL 5.1, имя базы "skola", имя table...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.