С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/10: Рейтинг темы: голосов - 10, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 24.06.2016
Сообщений: 51

Как изменить текст в label1? Как textBox1 изменить переменную

30.10.2019, 15:14. Показов 2121. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
подскажите, каким способом можно реализовать работу основного кода одновременно с диалогом и что бы можно было с помощью диалога наблюдать за работой и редактировать переменные основного кода.
решил попробовать Windows Form и создание отдельного потока для основного кода.
кажись работает, но не получается:
1. редактировать label1 и тд из функции основного кода.
2. textBox1-ом редактировать переменные основного кода.
также интересует как реализовать обновление label1 в постоянном режиме?(у меня получилось только при нажатии...)
это только тест потом это все переведется в dll

MyForm.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#define _CRT_SECURE_NO_WARNINGS
//#define dll//режим сборки dll или exe
int i = 0;
int t = 0;
//
#include <windows.h>
#include <process.h>
#include <iostream>
#include <string>
#include <thread>
#include <chrono>
#include "MyForm.h"//подключаем диалог
 
char dllFilePath[1024 + 1] = { 0 };
HINSTANCE hModule;
 
using namespace System;
using namespace System::Windows::Forms;
using namespace std;
 
int myfync();
//
#ifdef dll
void DLLProject(PVOID)
#else
void main()
#endif // dll
{
    thread th(myfync);/*Основной код*/
    this_thread::sleep_for(chrono::milliseconds(200));
    //
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);
    newtest::MyForm form;
    Application::Run(% form);
}
 
#ifdef dll
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved)
{
    if (fdwReason == DLL_PROCESS_ATTACH) {
        GetModuleFileName(hinstDLL, dllFilePath, 1024);
        hModule = hinstDLL;
        _beginthread(DLLProject, NULL, NULL);
        AllocConsole();
        freopen("CONOUT$", "w", stdout);
        std::cout << "\n LOG" << std::endl;
    }
    return TRUE;
}
#endif // dll
 
int myfync()
{
    for (i = 0; i < 100; i++)
    {
        cout << "\n nom = " << i;
        label1->Text = i.ToString();/*как изменить текст в label1 ?*/
        t=stoi(textBox1->Text);/*как из textBox1 присвоить значение переменной?*/
        cout << "\n t = " << t;
        this_thread::sleep_for(chrono::milliseconds(200));
    }
    return 1;
}
MyForm.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#pragma once
 
namespace newtest {
 
    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;
 
    /// <summary>
    /// Сводка для MyForm
    /// </summary>
    public ref class MyForm : public System::Windows::Forms::Form
    {
    public:
        MyForm(void)
        {
            InitializeComponent();
            //
            //TODO: добавьте код конструктора
            //
        }
 
    protected:
        /// <summary>
        /// Освободить все используемые ресурсы.
        /// </summary>
        ~MyForm()
        {
            if (components)
            {
                delete components;
            }
        }
    public: System::Windows::Forms::Button^ button1;
    public: System::Windows::Forms::Label^ label1;
    public: System::Windows::Forms::Label^ label2;
    public: System::Windows::Forms::TextBox^ textBox1;
    protected:
 
    public:
        /// <summary>
        /// Обязательная переменная конструктора.
        /// </summary>
        System::ComponentModel::Container ^components;
 
#pragma region Windows Form Designer generated code
        /// <summary>
        /// Требуемый метод для поддержки конструктора — не изменяйте 
        /// содержимое этого метода с помощью редактора кода.
        /// </summary>
        void InitializeComponent(void)
        {
            this->button1 = (gcnew System::Windows::Forms::Button());
            this->label1 = (gcnew System::Windows::Forms::Label());
            this->label2 = (gcnew System::Windows::Forms::Label());
            this->textBox1 = (gcnew System::Windows::Forms::TextBox());
            this->SuspendLayout();
            // 
            // button1
            // 
            this->button1->Location = System::Drawing::Point(15, 35);
            this->button1->Name = L"button1";
            this->button1->Size = System::Drawing::Size(75, 23);
            this->button1->TabIndex = 0;
            this->button1->Text = L"button1";
            this->button1->UseVisualStyleBackColor = true;
            this->button1->Click += gcnew System::EventHandler(this, &MyForm::Button1_Click);
            // 
            // label1
            // 
            this->label1->Location = System::Drawing::Point(12, 9);
            this->label1->Name = L"label1";
            this->label1->Size = System::Drawing::Size(100, 23);
            this->label1->TabIndex = 1;
            this->label1->Text = L"label1";
            // 
            // label2
            // 
            this->label2->AutoSize = true;
            this->label2->Location = System::Drawing::Point(15, 75);
            this->label2->Name = L"label2";
            this->label2->Size = System::Drawing::Size(35, 13);
            this->label2->TabIndex = 2;
            this->label2->Text = L"label2";
            // 
            // textBox1
            // 
            this->textBox1->Location = System::Drawing::Point(18, 102);
            this->textBox1->Name = L"textBox1";
            this->textBox1->Size = System::Drawing::Size(100, 21);
            this->textBox1->TabIndex = 3;
            this->textBox1->Text = L"0";
            this->textBox1->TextChanged += gcnew System::EventHandler(this, &MyForm::TextBox1_TextChanged);
            // 
            // MyForm
            // 
            this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
            this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
            this->ClientSize = System::Drawing::Size(284, 265);
            this->Controls->Add(this->textBox1);
            this->Controls->Add(this->label2);
            this->Controls->Add(this->label1);
            this->Controls->Add(this->button1);
            this->Name = L"MyForm";
            this->Text = L"MyForm";
            this->ResumeLayout(false);
            this->PerformLayout();
 
        }
#pragma endregion
    public: System::Void Button1_Click(System::Object^ sender, System::EventArgs^ e) {
        label1->Text = i.ToString();
    }
    public: System::Void TextBox1_TextChanged(System::Object^ sender, System::EventArgs^ e) {
        label2->Text = textBox1->Text;
    }
    };
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.10.2019, 15:14
Ответы с готовыми решениями:

Как изменить переменную в классе, находящуюся в private?
class Figura { private: float storona; float ploshad; public: };

Как правильно изменить на рантайме глобальную переменную?
Есть файл с объявлением globals.hpp, переменные из которого используется в нескольких классах. Заголовочных файлы классов подключены в...

Как посчитать функцию из TextBox1 и вывести ответ в этот же TextBox1
Доброго дня суток, подскажите пожалуйста как посчитать функцию из TextBox1 (в TextBox1 уже имеется функция допустим 11+2) и вывести ответ в...

1
1 / 1 / 0
Регистрация: 24.06.2016
Сообщений: 51
31.10.2019, 16:33  [ТС]
Как изменить текст в label1 из основного потока?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.10.2019, 16:33
Помогаю со студенческими работами здесь

Изменить переменную методами класса
Здравствуйте. У меня есть класс и в нем несколько функций. Class A { int x,r,color; A(int xx=1,int rr=1) { x=xx; ...

Изменить переменную класса через указатель
В данном примере я получаю указатель на переменную объекта. Я хочу изменить указатель, т.е. не само значение переменной на которую...

Как изменить текст в label1 из основного потока?
Подскажите как из основного потока изменить текст label1 который находится в другом потоке Диалог нужен для того что бы выводить данные...

Как сразу же отображать текст который вводиться в textbox1 в label1?
Как сразу же отображать текст который вводиться в textbox1 в label1?

Создать Form2 и изменить текст в label1, находящейся на ней
Объясните, мне, дураку. Нужно с Form1 при нажатии кнопки button1 что бы открывалась Form2 - это реализовал: 1. Добавил новый класс...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru