powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как получить имя элемента C#
16 сообщений из 16, страница 1 из 1
Как получить имя элемента C#
    #38687100
Здравствуйте.
Начал изучать С# и для начала решил написать калькулятор.
Для описания назначения цифр кнопок решил не писать тупое присвоение значения, а
написать 1 универсальную функцию которая была бы такого вида:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
private void set_digit (object o)
{
/*
o - ссылка на объект передаваемая на кнопку 
button_name - как то получаем через объект в кнопках

*/
textbox1.text=<button_name>.text;
}



Гугл не помог, все что получилось, это как получить название свойства объекта:
Код: c#
1.
2.
//i индекс свойства
sender.GetType().GetProperties()[i].Name


и его значение:
Код: c#
1.
2.
//i индекс свойства
sender.GetType().GetProperties()[i].GetValue(sender,null)


И повесить ее на кнопки с цифрами в свойство OnClick
...
Рейтинг: 0 / 0
Как получить имя элемента C#
    #38687165
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
private void set_digit (Button b)
{
    textbox1.text = b.Text;
}
...
Рейтинг: 0 / 0
Как получить имя элемента C#
    #38687168
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
private void set_digit (object o)
{
    var b = o as Button;

    if (b != null)
    {
        textbox1.Text = b.Text;
    }
}
...
Рейтинг: 0 / 0
Как получить имя элемента C#
    #38687445
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
skyANA
Код: c#
1.
if (b != null)

а может случиться так, что будет нулл?
...
Рейтинг: 0 / 0
Как получить имя элемента C#
    #38687448
LameUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы предложил использовать свойство Tag у буттонов. Туда бы внес соответствующие значения.
...
Рейтинг: 0 / 0
Как получить имя элемента C#
    #38687459
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
LameUserЯ бы предложил использовать свойство Tag у буттонов. Туда бы внес соответствующие значения. а как быть с кнопками операторов?

imho лучше массив с цифрами/функциями/опреаторами, а в tag - номер элемента массива.
...
Рейтинг: 0 / 0
Как получить имя элемента C#
    #38687486
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNoseskyANA
Код: c#
1.
if (b != null)

а может случиться так, что будет нулл?Очевидно же, что может, если в качестве параметра передать не Button. Если на форме только Button-ы, то вариант №1: 16256673 .
...
Рейтинг: 0 / 0
Как получить имя элемента C#
    #38687489
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNoseLameUserЯ бы предложил использовать свойство Tag у буттонов. Туда бы внес соответствующие значения. а как быть с кнопками операторов?

imho лучше массив с цифрами/функциями/опреаторами, а в tag - номер элемента массива.Лучше пойти в Википедию и почитать как строку преобразовать в прямую или обратную Польскую нотацию и вычислить.

P.S.: там и на C# пример есть.
...
Рейтинг: 0 / 0
Как получить имя элемента C#
    #38687563
2 skyANA, интересный вариант, однако стеки и прочие динамические структуры, как и пользовательские классы будут следующими, сейчас хотелось бы сделать без них
П.С. Не нашел в вики ссылки на реализацию польской записи на шарпе, однако позже ИМХО буду и ее реализовывать=)
П.С.2 Спасибо за пример реализации процедуры, почему-то те статьи которые мне попадались
не использовали var ни коим образом, почему я по не знанию думал об смеси бейсика и си...За что прошу прощения=)
...
Рейтинг: 0 / 0
Как получить имя элемента C#
    #38687578
А кроме разбора строки из передаваемого объекта, есть какой то еще способ узнать имя элемента не привязываясь к конкретному типу элемента изначально?
...
Рейтинг: 0 / 0
Как получить имя элемента C#
    #38687776
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НектоРядомА кроме разбора строки из передаваемого объекта, есть какой то еще способ узнать имя элемента не привязываясь к конкретному типу элемента изначально?Чего? Элементы формы наследуются от Control. А у последнего есть свойство Name.

Вы бы лучше задачу подробнее описали, а не задавали вопросы вида: "А кроме той реализации, что я смог придумать, возможны ещё какие-то?".
...
Рейтинг: 0 / 0
Как получить имя элемента C#
    #38687888
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЛучше пойти в Википедию и почитать как строку преобразовать в прямую или обратную Польскую нотацию и вычислить.Только Pratt, только хардкор.
...
Рейтинг: 0 / 0
Как получить имя элемента C#
    #38687899
2Нахлобуч, прозвучала как угроза в стиле "Только сборник Кнута, только хардкор"
...
Рейтинг: 0 / 0
Как получить имя элемента C#
    #38687946
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НектоРядом,

раз уж тут советуют всякое разное, то и я посоветую.

Книга "Полный справочник по C#", Герберт Шилдт. Глава 26 "Синтаксический анализ методом рекурсивного спуска". Всю книгу целиком читать не советую, т. к. она весьма старая, по самой первой версии языка. Но именно эту главу рекомендую. В ней описано создание калькулятора, который понимает выражения со скобками, с переменными и прочее.
...
Рейтинг: 0 / 0
Как получить имя элемента C#
    #38687950
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НахлобучТолько Pratt, только хардкор.
Только Nemerle.PEG, только... А впрочем... Только Nitra!
...
Рейтинг: 0 / 0
Как получить имя элемента C#
    #38688558
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НахлобучskyANAЛучше пойти в Википедию и почитать как строку преобразовать в прямую или обратную Польскую нотацию и вычислить.Только Pratt, только хардкор.

ладно, алгоритм Дейкстры тож сойдёт
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как получить имя элемента C#
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]