Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.74/35: Рейтинг темы: голосов - 35, средняя оценка - 4.74
1 / 1 / 0
Регистрация: 19.11.2009
Сообщений: 21
1

Cтруктура программы. Где пишем основную часть кода?

19.11.2009, 16:05. Просмотров 6433. Ответов 6
Метки нет (Все метки)

Добрый всем денек, есть ламерский вопрос, не пинайте ногами.
Создаю проект C# в VS 2005, стандартный код, создаваемый по умолчанию вы знаете, приведу ниже.
Я пытался разодраться со структурой программы и есть мысли и вопросы, поправьте если я не прав:
1. Класс Program запускает Form1
2. В Form1 можно добавлять кнопки и т.п., что отобразится в коде Form1
3. В какой именно части вы пишете ОСНОВНУЮ часть кода (работа с переменными, данными) в Program или Form1 ?
4. Если основной код программы пишется в Program (я пробовал так) то переменные из Form1 недоступны
5. Если пишем в Form1, то мы там создаем отдельную часть кода или же пишем в области после private void Form1_Load(object sender, EventArgs e) {
6. Может вы не пользуетесь стандартной иерархией VS, а ваяете что-то свое в одном окне, тогда как?

Стандартный код, созданный VS
Program:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
using System.Collections.Generic;
using System.Windows.Forms;
 
namespace WindowsApplication1
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}

Form1:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System.Text;
using System.Windows.Forms;
 
namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
    }
}

ПС: читаю 3 книги по C#, но там инфы нет, подскажите фундаментальные вещи или ткните носом где искать, всем спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.11.2009, 16:05
Ответы с готовыми решениями:

Вынести основную часть кода кода в отдельную функцию
помогите пожалуйста переделать это на функцию... #include &lt;locale.h&gt; #include &lt;conio.h&gt; int...

Основную часть кода вынести из класса формы в отдельный класс
У меня весь код находится в коде формы, а мне нужно основную часть написать в отдельно созданном...

Каким образом из файла-ресурса меню должно передаться в основную часть программы?
Ночи доброй, форумчане! Вопрос следующий: что именно описывается в .h-файле, каким образом из...

Выкладываю часть кода моей программы, хочу чтобы вы мне указали где что лучше здесь оптимизировать исправить
Здравствуйте, я недавно в программировании на C# поэтому тонкостей не знаю, выкладываю часть кода...

6
4302 / 1470 / 101
Регистрация: 12.04.2009
Сообщений: 2,346
19.11.2009, 16:33 2
Пиши все внутри класса Form1
1
1 / 1 / 0
Регистрация: 19.11.2009
Сообщений: 21
19.11.2009, 16:48  [ТС] 3
Цитата Сообщение от HIMen Посмотреть сообщение
Пиши все внутри класса Form1
Я так и пишу думал что в танке.
1. А если несколько форм? по-фигу пишем код в form1 ?
2. Ближе к телу: и там же в Form1 пишем код например закрытия приложения?
3. Если я добавляю кнопки и т.п. то в классе Form1 появляются строки типа:
private void button2_Click(object sender, EventArgs e)
{
}
то не имеет значения в каком порядке идет мой основной код и эти автоматически генерируемые строки кода?
0
4302 / 1470 / 101
Регистрация: 12.04.2009
Сообщений: 2,346
19.11.2009, 17:00 4
Код для form1 в Form1, для form2 - в Form2, если создаете какие-то большие собственные классы, то в отдельном .cs файле
C#
1
2
3
private void button2_Click(object sender, EventArgs e)
{
}
это функция обрабатывает событие нажатия на кнопку, порядок функций не имеет значения
Может вам пока с консольными приложениями разбираться?
1
83 / 82 / 8
Регистрация: 03.11.2009
Сообщений: 723
19.11.2009, 17:07 5
Цитата Сообщение от kravchuk14 Посмотреть сообщение
А если несколько форм? по-фигу пишем код в form1 ?
пишется код для каждой отдельной формы, в зависимости что нужно на них... form1, form2, form3 это все отдельные окна твоей программы) например у тебя на форм1 находится кнопка, на форм2 ТекстБокс...

Цитата Сообщение от kravchuk14 Посмотреть сообщение
Form1 пишем код например закрытия приложения?
в смысле закрытие приложения? все окна закрыл, закрылось приложение... можно сделать отдельную кнопку на форме для закрытия приложения и она может находиться на любой форме, да и хоть на каждой...

Цитата Сообщение от kravchuk14 Посмотреть сообщение
Если я добавляю кнопки и т.п. то в классе Form1 появляются строки типа:
private void button2_Click(object sender, EventArgs e)
{
}
то не имеет значения в каком порядке идет мой основной код и эти автоматически генерируемые строки кода?
button2_Click, это обработчик события... что будет происходить при нажатии на кнопку) обычно появляется если 2 раза тыкнуть на кнопку в визуальном конструкторе...
как правила обработчики события пишутся в конец кода...
1
281 / 260 / 32
Регистрация: 11.11.2009
Сообщений: 605
19.11.2009, 17:30 6
Хорошим стилем считается писать логику приложения в отдельных классах и модулях. В модулях форм же использовать эту логику. Отделять так сказать front-end от back-end~а

Добавлено через 1 минуту
естественно разговор о серьезных приложениях. Если же вы собираетесь бросить 3 кнопки и пары контролов... то на форме тоже нормально
1
83 / 83 / 19
Регистрация: 17.12.2007
Сообщений: 574
20.11.2009, 14:03 7
Цитата Сообщение от kravchuk14 Посмотреть сообщение
Всем благодарен, доходчиво

почитай сначало про програмирование windows form, и по ходу практикуйся.
Я так с с++ билдер начинал работать - сначало все делал, а потом уже читал - ничего хорошего не вышло. нужна теория подкрепляемая практикой
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2009, 14:03

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

При создании формы, где часть кода разместить
Добрый вечер, подскажите пож-та, задача состоит в том что в форме при вводе в textBox1 и textBox2...

Разобрать часть кода, где реализуется пузырьковая сортировка
помогите пожалуйста разобрать часть кода, где реализуется пузырьковая сортировка. сам алгоритм...

Объясните часть кода программы
Писал лабу, помог парень, но он видимо ушёл, я не могу понять его кусок кода. Вот лаба: ...

Непонятна часть кода программы - работа с файлами
Программа, выводящая символы из файла в обратном порядке. Часть кода: ..... ...


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

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

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