8 / 8 / 2
Регистрация: 30.01.2015
Сообщений: 157
1
.NET 4.x

Не происходят изменения в конструкторе

28.10.2016, 08:44. Показов 4034. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не могу понять. Например, добавляю на форму кнопку, кликаю на ней два раза, попадаю в констуктор. Потом например в свойствах кнопки переименовываю, но в конструкторе остается старое имя. Или например с формы удаляю кнопку, а конструктор остается и при запуске программы вылазит ошибка. В билдере такого не было. Не могу понять в чем причина? Использую MVS2013.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2016, 08:44
Ответы с готовыми решениями:

Не происходят изменения
VS 2008/Windows Form Opt.h void privet(); Opt.cpp #include "stdafx.h" #include "Opt.h"...

Не происходят изменения
Помогите кто может. Мне по наследству досталась одна программулина на делфи от старого работника....

Не происходят изменения на формах...
Писал игру на C++ и в один момент заметил что при добавлении на форму новых компонентов они не...

Не происходят изменения в БД при использовании модели QSqlRelationalTableModel
Здравствуйте! Возникла такая проблема: при выводе таблицы из БД в QTableView, используя модель...

10
Эксперт .NET
12062 / 8371 / 1280
Регистрация: 21.01.2016
Сообщений: 31,563
28.10.2016, 08:54 2
Цитата Сообщение от Mudrec Посмотреть сообщение
Например, добавляю на форму кнопку, кликаю на ней два раза, попадаю в констуктор
Ты попадаешь не в конструктор, а в метод обработки события "Click" кнопки, который создаётся студией.
0
8 / 8 / 2
Регистрация: 30.01.2015
Сообщений: 157
28.10.2016, 09:08  [ТС] 3
вообщем смотрю файл Form1.Designer.cs, при изменении свойства Name кнопки все меняется кроме последней строки. Например, this.btnSave2.Click += new System.EventHandler(this.btnSave_Click).

Добавлено через 50 секунд
получается что это нормально?

Добавлено через 1 минуту
а можно ли это как то автоматически синхронизировать, ну типо поменял имя кнопки и в обработчике событий имя тоже поменялась?

Добавлено через 27 секунд
или удалил кнопку и удалилось все что связанно с кнопкой
0
911 / 815 / 333
Регистрация: 03.02.2015
Сообщений: 5,265
Записей в блоге: 9
28.10.2016, 09:09 4
Лучший ответ Сообщение было отмечено Mudrec как решение

Решение

Цитата Сообщение от Mudrec Посмотреть сообщение
Не могу понять. Например, добавляю на форму кнопку, кликаю на ней два раза, попадаю в констуктор.
Не в конструктор а в обработчик события.
Цитата Сообщение от Mudrec Посмотреть сообщение
Потом например в свойствах кнопки переименовываю, но в конструкторе остается старое имя. Или например с формы удаляю кнопку, а конструктор остается и при запуске программы вылазит ошибка.
Опять же не конструктор а обработчик события, сама подписка на событие происходит в файле (имяФормы.Disigner.cs). Если обратили внимание то класс основной формы имеет модификатор partial, что значит разделяемый. В проекте WinForms используется автоматическая генерация кода, например добавили кнопку на форму , а код сам сгенерился, те все
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private System.Windows.Forms.Button buttonMode1;
this.buttonMode1 = new System.Windows.Forms.Button();
 
// 
// buttonMode1
// 
this.buttonMode1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
            | System.Windows.Forms.AnchorStyles.Right)));
            this.buttonMode1.BackColor = System.Drawing.SystemColors.Menu;
            this.buttonMode1.Cursor = System.Windows.Forms.Cursors.Hand;
            this.buttonMode1.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
            this.buttonMode1.Location = new System.Drawing.Point(2, 2);
            this.buttonMode1.Name = "buttonMode1";
            this.buttonMode1.Size = new System.Drawing.Size(82, 23);
            this.buttonMode1.TabIndex = 10;
            this.buttonMode1.Tag = "Mode1";
            this.buttonMode1.Text = "Standart";
            this.buttonMode1.UseVisualStyleBackColor = false;
            this.buttonMode1.Click += new System.EventHandler(this.buttonMode9_Click);
// и тд

Так вот теперь непосредственно к вашему вопросу при удалении кнопки с формы, редактирование файла основной формы (обычно по умолчанию Form1) не происходит, а при добавлении подписки на события - обработчикки (их код) автоматически генерируются в классе Form1.cs, для удобства. Поэтому при удалении или переименовании, все что в Form1.cs не изменяется и не удаляется, может только добавляться. Сделано для того что бы генератор кода чего лишьнего не удалил из файла который предназначен для непосредственной работы самого программиста.
0
41 / 41 / 16
Регистрация: 04.10.2016
Сообщений: 154
28.10.2016, 09:14 5
А если 2 кнопки подписаны на 1 событие? как компилятору решить удалять функцию или нет?
0
8 / 8 / 2
Регистрация: 30.01.2015
Сообщений: 157
28.10.2016, 09:14  [ТС] 6
понял
0
911 / 815 / 333
Регистрация: 03.02.2015
Сообщений: 5,265
Записей в блоге: 9
28.10.2016, 09:19 7
BearBaloo, Не путайте компилятор и автоматический генератор кода.
0
41 / 41 / 16
Регистрация: 04.10.2016
Сообщений: 154
28.10.2016, 09:35 8
Опячатка, я имел в виду IDE
0
911 / 815 / 333
Регистрация: 03.02.2015
Сообщений: 5,265
Записей в блоге: 9
28.10.2016, 09:38 9
BearBaloo, так в том то и прикол что не трогает она их, ручками нужно)
0
41 / 41 / 16
Регистрация: 04.10.2016
Сообщений: 154
28.10.2016, 10:08 10
Я об этом же и говорю, я попытался обьяснить почему она их не трогает, потому что не понятно когда нужно удалять а когда нет, поэтому этот функционал перенесен на пользователя IDE
0
911 / 815 / 333
Регистрация: 03.02.2015
Сообщений: 5,265
Записей в блоге: 9
28.10.2016, 10:09 11
BearBaloo, аааа я думал Вы спрашиваете)
0
28.10.2016, 10:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.10.2016, 10:09
Помогаю со студенческими работами здесь

Какие изменения происходят при откате к точке восстановления ?
Если я создам точку восстановления системы а потом установлю какую нибудь программу. Эта программа...

При измении информации в таблице, изменения в DataCombo не происходят.
Ситуация Настраиваю DataEnvironment. Затем беру какой нибудь связный элемент (DataCombo) и...

При изменении выбора в одном ComboBox, изменения происходят и в других
Из xml отстраиваю на форме елементы Label label; RichTextBox rich; ...

VS2008 Не сохраняются изменения в конструкторе
До этого использовал VS2005, там такого не было, на VS2008SP1 достала проблемка. После запуска VS и...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru