Форум программистов, компьютерный форум, киберфорум
C++/CLI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 19.05.2013
Сообщений: 12

VS CLR в Windows Forms

19.05.2013, 22:46. Показов 2903. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Такой вопрос, можно ли имея готовый проект СLR (написан для работы с командной строкой), адаптировать под формы? А именно, используя графический интерфейс, запросить данные, обработать их и выдать на форму, опираясь на код СLR проекта?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.05.2013, 22:46
Ответы с готовыми решениями:

MESSAGE MAP для CLR Window forms Application
Здравствуйте. Потребовалось написать небольшую программу для считывания данных с COM-порта под W7. Создал приложение CLR Window forms...

Подключение mouse_event в Visual C++ CLR Windows Forms
Пишу кликер - по нажатию на кнопку "Перейти в точку" - нужно переместить курсор на координаты x, y и кликнуть левой клавишей мыши. Писал...

clr,mfc,windows forms
на чем лучше всего создавать оконный проект в MSVS2010? и как его собрать в 1 exe исполняемый файл ? и чтобы этот 1 exe можно было...

5
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
20.05.2013, 20:08
Странный вопрос ...
Можно .
0
0 / 0 / 0
Регистрация: 19.05.2013
Сообщений: 12
21.05.2013, 07:38  [ТС]
Хорошо было бы узнать как.

Добавлено через 9 часов 7 минут
Именно хочется узнать, как правильно создать структуру и где прописывать команду #include?
0
261 / 236 / 161
Регистрация: 10.12.2011
Сообщений: 513
21.05.2013, 15:21
подключаешь библиотеки в самом начале программе после прагмы

C++
1
2
#pragma once
#include <math.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
public ref class Form1 : public System::Windows::Forms::Form
    {
    public:
/* тут  можно описывать переменные и массивы */
 
Form1(void)
        {
            InitializeComponent();
            //
            //TODO: Add the constructor code here
            //
        }
        ref struct /*name*/ {
      ....
 };
 
/*функции можешь пихать после объявления конструктора например так: */
    public: void Output (){
             Form3^ about = gcnew Form3;
             about->Show();
             about->word = first;
             about->new_word = second;
             about->n_word = third;
             about->old_word = four;
            }
Ну а сам код в событиях . Дерзайте.
1
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
21.05.2013, 16:09
На примере :
Имеем простое консоль. СLR приложение . Все что оно делает выводит - аргументы
командной строки :
В командную строку вводим через пробел имя приложения , символы или цифры
C++
1
2
3
4
5
6
7
8
9
10
11
12
// CommandLineCLR.cpp: главный файл проекта.
 
#include "stdafx.h"
using namespace System;
 
int main(array<System::String ^> ^args)
{
    for (int arg = 0; arg < args->Length; arg++)
        Console::WriteLine("Arg {0}: {1}", arg, args[arg]);
    Console::ReadKey();
    return 0;
}
Вывод будет примерно таким :
Arg 0 : a
Arg 1 : b
Arg 2 : c
Arg 3 : d
Arg 4 : e

Теперь прикрутим к нему Форму
проект- добавить новый элемент - UI - Форма Windows Forms

пишем имя формы MySuperPuperForm .
Жмем кнопку добавить.

На форму добавляем компоненты, украшаем и т.д.

У меня просто текстбокс, кнопка и лэйбл .


Далее : проект- свойства - свойства конфигурации - компоновщик - система - подсистема - меняем Консоль (/SUBSYSTEM:CONSOLE) на Windows (/SUBSYSTEM:WINDOWS) ( рис. 1)

И опять начиная с компоновщика : компоновщик - дополнительно -
точка входа - пишем main ( рис. 2)
Все жмем ОК

Изменяем файл .CPP
Подробности в комментариях
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// CommandLineCLR.cpp: главный файл проекта.
 
#include "stdafx.h"
#include "MySuperPuperForm.h"   // ИНКЛЮДИМ ФОРМУ 
 
using namespace CommandLineCLR ; // <- ЗДЕСЬ УКАЗАТЬ ИМЯ ПРОЕКТА 
 
             [STAThreadAttribute]    // УКАЗАТЬ В СЛУЧАЕ ВЗАИМОДЕЙСТВИЯ С СОМ
int main(array<System::String ^> ^args)
{
    Application::EnableVisualStyles();                      //  ВИЗУАЛЬНЫЙ СТИЛЬ
    Application::SetCompatibleTextRenderingDefault(false); //  КАК БУДЕТ ОТОБРАЖАТЬСЯ ТЕКСТ 
 
    // Создание главного окна и его запуск
    Application::Run(gcnew MySuperPuperForm());
    return 0;
}

Вводим числа ИЛИ символы через пробел в текстбокс Вместо командной строки. При нажатии кнопки выводим в лэйбл . ( рис. 3)
Миниатюры
VS CLR в Windows Forms   VS CLR в Windows Forms  
Изображения
 
3
0 / 0 / 0
Регистрация: 19.05.2013
Сообщений: 12
21.05.2013, 18:06  [ТС]
Вот это я понимаю, спасибо, что разжевали.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.05.2013, 18:06
Помогаю со студенческими работами здесь

Windows.Forms - Процедуры, цикл for и System.Windows.Forms.Button
Доброго времени суток. Есть WinForms программа: ... private ClickedButtonId, ClickedButtonX, ClickedButtonY:Integer; ...

Код для Windows Forms не работает в Web Forms?
В том году я делал лабораторки по Winforms. Естественно, они все у меня сохранились, и я полез в их код, вспоминать былое, так сказать,...

Ошибка «не удается загрузить среду CLR» в Windows 7
Приложение, написанное на С# в VS 2008 (обработка и формирование таблиц Excel (Office 2007)), прекрасно работает на компе под XP. Когда...

Как использовать API функции в проекте C++ CLR Windows Form?
Где объявлять API-функции в проекте, созданном по шаблону C++ -&gt; CLR -&gt; Windows Form и как? Например в C# стразу после имени...

Выражение типа "System.Windows.Forms.Control" не может быть выражением типа "System.Windows.Forms.Menu"
Перевёл проект с версии 2008 на версию 2010 Наткнулся при компиляции на кучу не объявленных переменных и на 2 ошибки. Собственно с...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru