Постійний збір на дрони FPV для ЗСУ
Закидуй дві гривні!
FPV-дрони змінюють хід війни
Змінюй хід війни!

C# WinForms in MSVC

🟡 11:34 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
Статус: Offline
Реєстрація: 03.09.2007
Повідом.: 1045
  • 🟡 11:34 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #1
Сразу оговорюсь - C# и программирование под Windows на стадии изучения...поэтому просьба пинать без фанатизма...

Начал с того, что создал проект со стандартной Win-формой в VS 2008 Express. Студия сгенерила свой код. Приложение работает. Я добавляю к Вин-форме элементы управления через конструктор (designer) Вин-форм VS (посредством драг-энд-дроп с панели инструментов) - как следствие, VS добавляет код инициализации этих элементов.Часть кода студии заключен а в
Код:
#region Windows Form Designer generated code
//код
...
#endregion
, часть кода - за этой областью. Я изменяю свойства элементов управления вручную, не через конструктор (designer) Вин-форм, код заключен в
Код:
#region Windows Form Designer generated code
//код
...
#endregion
, по итогу студия мои изменения убивает.

Теперь вопрос:
1. Есть предположение (:)), что студия делает все верно и я просто не сталкивался с этим раньше. так ли это или же имеет место глюк (может я и ошибаюсь, но какая разница как изменить функционал через дизайнер или руками) ?

2. Панацея от всего этого:
а) писать всю инициализацию руками ?
б) пользоваться только конструктором студии при редактировании всех элементов управления ?
в) есть ли золотая середина между п. а и п.б ?
 
  • 🟡 11:34 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #2
1. Если ты в сгенеренном коде что-то меняешь руками студия будет менять всё обратно в соответствии с правилами дизайнера (кажись это даже в каментах дето пишется), а вот добавить туда своего чего то можно, студия это не удалит! Но менять в созданных с помощью дизайнера элементах управления что-либо ручками нет смысла, т.к. студия все вернет обратно и да, это намеренно!
2. Зачем писать руками всё? То, что тебя устраивает не меняй, а если что-то не устраивает то напиши за пределами InitializeControls(), например создай свою процедуру MyInit() и в ней опиши все что хочешь поменять, студия это не тронет. Это ИМХО и есть золотая середина ;).
 
  • 🟡 11:34 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #3
спасибо.
 
  • 🟡 11:34 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #4
какой смысл менять свойства объектов через код, если это можно сделать через окно свойств?
 
  • 🟡 11:34 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #5
какой смысл менять свойства объектов через код, если это можно сделать через окно свойств?

Ну в ASP.NET, к примеру, намного удобней писать код, чем пользоваться дизайнером страниц.
 
  • 🟡 11:34 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #6
какой смысл менять свойства объектов через код, если это можно сделать через окно свойств?

такой что возможности проперти едитора не позволяют много чего сделать, а вот через код можно все. Например не все свойства видны в проперти едиторе. А по поводу автосгенеренного кода тут правильно написали - автогенеренный код не следует модифицировать, напиши свой метод и вызови его в конструкторе после InitializeComponent, а содержимое InitializeComponent не трогай. Если не нравится InitializeComponent, удали его вызов из конструктора и добавь вызов своего варианта, но тело самого метода не трогай.
 
  • 🟡 11:34 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #7
  • 🟡 11:34 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
  • #8
В данном случае ТС пишет про WinForms

IMHO, в чем смысл для меня:
1. открыть вкладку с кодом и поменять поле "имя элемента" или какое-нибудь свойство, добавив при этом одну строку кода...
2. ...или открывать дизайнер студии, ждать когда он прогрузится, обновится окно (у меня так, например) и скроллить до нужного свойства.

на этот счет спор бесполезен :). Реализованы оба способа. Оба способа работают и ими пользуются.

Для себя необходимую информацию почерпнул. все ответившим - спасибо.
 
Назад
Зверху Знизу