Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 28.07.2019, 15:53   #21
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 14,703
Репутация: 2631
По умолчанию

Цитата:
Сообщение от Ищущий1 Посмотреть сообщение
Я не понимаю какое это имеет отношение к моей проблеме.
Читайте дальше. Например, про сроки жизни полей, про принадлежность к объекту...

Цитата:
Сообщение от Ищущий1 Посмотреть сообщение
Я понимаю, поэтому и не делал так.
А теперь послушайте сами себя: вы говорите, что понимаете, что объект умер выше вместе с label и при этом что-то хотите от label..
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 28.07.2019, 16:09   #22
Ищущий1
Пользователь
 
Регистрация: 11.03.2018
Сообщений: 19
Репутация: 10
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Читайте дальше. Например, про сроки жизни полей, про принадлежность к объекту...
Прочитал. Ну не дает это мне ответа.

Цитата:
Сообщение от p51x Посмотреть сообщение
А теперь послушайте сами себя: вы говорите, что понимаете, что объект умер выше вместе с label и при этом что-то хотите от label..
Если вы имеете ввиду MyFrm, то я пробовал вынести ее в глобал класса.
Код:
public class Class1
    {
        [System.Reflection.Obfuscation(Feature = "DllExport")]
        public static int testik(int xx, int yy)
        {
            return xx + yy+1;
        }

        Form1 MyFrm;

        [System.Reflection.Obfuscation(Feature = "DllExport")]
        public static void init()
        {
            Form1 MyFrm = new Form1();
            MyFrm.ShowDialog(); //Если использовать MyFrm.Show(); вылетит с ошибкой.
        }

        [System.Reflection.Obfuscation(Feature = "DllExport")]
        public static void newdata(double data1)
        {
            //object lab = Form1.getLabel();
            MyFrm.label1.text = Convert.ToString(data1);
            //Form1.getLabel("test");
            //object test=Form1.getLabel();
            //Form1.getLabel("тест");
            //int test = Form1.getLabel();
            //Form1.getLabel().text = Convert.ToString(data1);
        }
Это ничего не меняет. Все та же ошибка.
Ищущий1 вне форума   Ответить с цитированием
Старый 28.07.2019, 16:16   #23
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 14,703
Репутация: 2631
По умолчанию

Цитата:
Сообщение от Ищущий1 Посмотреть сообщение
Прочитал. Ну не дает это мне ответа.
Печально. Забивайте на программирование.

Цитата:
Сообщение от Ищущий1 Посмотреть сообщение
Это ничего не меняет. Все та же ошибка.
Так вы же нифига не присваиваете вынесенной переменной. У вас тут все работает и умирает, не касаясь поля класса:
Код:
            Form1 MyFrm = new Form1();
            MyFrm.ShowDialog(); //Если использовать MyFrm.Show(); вылетит с ошибкой.
Код:
MyFrm.label1.text = Convert.ToString(data1);
Куда сеттер пропал?
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 28.07.2019, 16:28   #24
Ищущий1
Пользователь
 
Регистрация: 11.03.2018
Сообщений: 19
Репутация: 10
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Так вы же нифига не присваиваете вынесенной переменной. У вас тут все работает и умирает, не касаясь поля класса:
Код:
            Form1 MyFrm = new Form1();
            MyFrm.ShowDialog(); //Если использовать MyFrm.Show(); вылетит с ошибкой.
Даа, согласен. Там другая переменная. Уже от раздражения напорол.
Пробовал вынести в глобал класса Form1 MyFrm = new Form1(); а в методе только MyFrm.ShowDialog(); - стал ругаться, что не видит MyFrm. Не понял почему.

Код:
MyFrm.label1.text = Convert.ToString(data1);
Куда сеттер пропал?[/QUOTE]Да я уже по всякому экспериментирую пытаюсь найти хоть какую-то нить.

Геттер сеттер в Form1:
Код:
public Label getLabel()
        {
            return label1;
        }

        public string LabelText { get => label1.Text; set => label1.Text = value; }

        private void Label1_Click(object sender, EventArgs e)
        {
            label1.Text = "нажата лейбл";
        }
Вызываю сеттер:
Код:
[System.Reflection.Obfuscation(Feature = "DllExport")]
        public static void newdata(double data1)
        {
            // пытаюсь изменить данные на форме
            MyFrm.LabelText = Convert.ToString(data1);
        }
Все та же ошибка 120 с требование ссылки на объект
Ищущий1 вне форума   Ответить с цитированием
Старый 28.07.2019, 16:35   #25
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 14,703
Репутация: 2631
По умолчанию

Значит вы не присвоили MyFrm объект. Так можно 10 страниц по кругу ходить.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 28.07.2019, 16:50   #26
Ищущий1
Пользователь
 
Регистрация: 11.03.2018
Сообщений: 19
Репутация: 10
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Значит вы не присвоили MyFrm объект. Так можно 10 страниц по кругу ходить.
Сделал переменную статик и перестал ругаться.
Код:
static Form1 MyFrm = new Form1();
В методе только отображение:
Код:
[System.Reflection.Obfuscation(Feature = "DllExport")]
        public static void init()
        {
            //Form1 MyFrm = new Form1();
            MyFrm.ShowDialog(); //Если использовать MyFrm.Show(); вылетит с ошибкой.
        }
Ошибок нет.

Ошибка только в
Код:
[System.Reflection.Obfuscation(Feature = "DllExport")]
        public static void newdata(double data1)
        {
            //object lab = Form1.getLabel();
            MyFrm.label1.text = Convert.ToString(data1);
            //Form1.getLabel("test");
            //object test=Form1.getLabel();
            //Form1.getLabel("тест");
            //int test = Form1.getLabel();
            //Form1.getLabel().text = Convert.ToString(data1);
        }
Но уже другая.
CS0122 'Form1.label1" недоступен из-за его уровня защиты.
Пробовал label1 изменить с private на public - появилась еще одна ошибка, вернул обратно.
По поводу присваивания. При использовании библиотеки форма открывается. Значит присваивание происходит?
Ищущий1 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обратиться к компоненту на форме? AlkaloiD Общие вопросы по Java, Java SE, Kotlin 10 10.04.2011 21:43
Как обратиться к уже созданным на форме label'ам в цикле? bemm Общие вопросы .NET 5 21.03.2011 18:44
обратиться к label на форме borik120 Windows Forms 8 16.09.2010 22:33
Как обратиться к активной форме? Dimon88 Помощь студентам 4 18.10.2008 00:03
как обратиться к невидемой форме Scorpeon Общие вопросы Delphi 3 29.06.2007 16:16


16:37.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.