|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.05.2018, 20:12 | #1 |
Пользователь
Регистрация: 05.11.2013
Сообщений: 22
|
C# и VB.NET
Добрый день! Начал активно работать с C# , до этого работал на VB.NET . Всё вроде бы идентично и хорошо, но вот встретилось реально неприятное различие.
Допустим есть Form1 главная и создаю Form2 "Настройки программы". Далее , чтобы произвести какие-либо элементарные изменения на Form1 (к примеру снять галочку , либо изменить текст в Textbox) в этих "Настройках программы" , в VB.NET это изменение делалось элементарно и логично: Form1.CheckBox1.Checked = false или Form1.TextBox1.Text = "Новый текст". Всё отлично и удобно. C# же меня в этом аспекте сильно удивил. Он не даёт доступа к этим элементам из других форм. Из этого у меня вопрос - оба языка вполне себе похожи, на одной платформе, но почему тут такое различие? Это же действительно неудобно, когда в C# приходится делать такие простые вещи через огромные костыли с обновлениями форм, глобальные параметры в Default.Settings. Может есть какой-то способ попроще, чтобы можно было делать как раньше? |
08.05.2018, 20:33 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
В дизайнере формы где-то можно сделать элементы public, но лучше сделать функцию или свойство у формы, а не обращаться откуда попало напрямую.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
23.12.2018, 02:44 | #3 | |
Пользователь
Регистрация: 19.10.2018
Сообщений: 72
|
Цитата:
(Я думал когда-то написать статью о различиях, но забил). Вот только то что по-быстрому вспомнил: Так-же, в VB есть в настройках Студии "Запускать только одну копию приложения"; в C# через Мютекс делал(правда, там чуток кода, и не забыть сказать GC чтоб не удалял ссылку на неиспользуемый объект) - печально, что не через настройки студии(((. В C# НЕТ InputBox(((. В VB есть замечательная функция Choose - в C# нету(((. //кто не в курсе, типа тернарника для свича. Можно, как пример, определение дня недели одной строчкой написать - первым параметром в функцию передать, какой из последующих параметров вернуть. В VB то что описано в модуле доступно для всех форм - в C# нужно постараться. В VB неявное преобразование(хотя иногда и в убыток то что по-умолчанию) - в C# нужно указывать что и куда преобразуешь. Самое главное в switch: Код:
Привыкайте, различия есть. Последний раз редактировалось Nintra GrayWorker; 23.12.2018 в 03:02. Причина: дополнил |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Удаленный SQL-сервер Ado.Net + .Net remoting + Asp .Net | gammaray | Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) | 2 | 22.11.2010 17:36 |