| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > .NET для новичков > Пару элементарных вопросы по основам C# |
| Автор: Ilfirin 29.8.2012, 15:11 | ||||
| Отсутствует понимание в следующем: 1) Другая форма не видит члены классы, хотя я объявил их public. Главная форма
Создал еще одну форму (ScanForm) которую вызываю при нажатии на кнопке меню. Так вот, в обработчиках этой формы я вижу структуры Options но не вижу переменные options, appdir. Как исправить? 2) Можно ли в C# инициализировать структуру как например в C++ через { }.
Пробовал - не получается. 3) Подскажите(можно сторонний, на ваш взгляд удобный, навороченный) компонент таблицы. Ну что-то вроде дельфийского AdvGrid (TMS), NextGrid, cxGrid. Да хотя бы TStringGrid; Чтобы зараннее можно было настроить заголовок, колонки, выравнивание и т д. Такой компонент существует? Или какая-либо библиотека. Без привязки к БД. 4) Я правильно понимаю, что в C# из любого модуля виден любой модуль, достаточно его добавить в папку Ссылки/References? То есть не надо что-то типа include или uses. Извините, второй день за C#. |
| Автор: erm0l0v 29.8.2012, 20:43 | ||||||||||
1) По всей видимости вы не создали класс и пытаетесь обратиться к его полям.
Так вы не сможете добраться до поля, так как его нет. Для того чтобы обратиться к полю нужно либо сдетать его статическим либо создать объект класса. а) Статическое поле:
После этого вы сможете обратиться к полю как в примере выше, но обратите внимание что значение этого поля будет одинаково для всех объектов класса MainForm. б) Создание объекта:
Здесь мы создаем новый объект, и обращаемся к его свойству. Обратите внимание что в вашем примере MainForm это класс окна, объек этого класса создается при старте приложения в методе Main. Создавать второй объект не имеет смысла, так как это приведет к созданию еще одной формы. Для того чтобы использовать уже созданный объект вам нужно передать его другому классу. Для того чтобы узнать ссылку на объект внутри MainForm вы можете воспользоваться ключевым словом this:
2) Да можно и структуру и классы и масивы и много еще чего...
3) В случаю WinForms DataGridView. В случае WPF/Silverlight DataGrid 4) Да видны только классы помеченный модификатором доступа public. Ничего дополнительно менять не надо, просто добавить проект или dll в References. |
| Автор: Ilfirin 29.8.2012, 21:40 |
| erm0l0v спасибо за помощь! |