|
Модераторы: gambit, Partizan |
|
Курсант |
|
||||
Опытный Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Доброго времени суток!
Решил к своей программе добавить возможность вытаскивать имя файла из командной строки. Однако параметры командной строки получить из тела метода не могу. То есть я вижу, что параметры командной строки передаются приложению, и выглядит это так:
Однако из модуля класса Form1 я не могу получить доступ к переменной args (если я правильно понял, это переменная ссылочного типа?).
А из тела функции main я не могу получить доступ к свойствам объекта Form1, чтобы туда записать или копию args, или значение некоторого элемента массива. Вопрос: как быть? Как получить параметры командной строки в методе какого-нибудь компонента окна (я так понимаю, лучше всего в методе Load компонента Form1). Спасибо за внимание. Это сообщение отредактировал(а) Курсант - 6.10.2015, 13:23 |
||||
|
|||||
Курсант |
|
||||||||||
Опытный Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Проблема решена, придумал работающий костыль (а может и не костыль). Способ решения:
1. В функции main () вызываем конструктор объекта Form1 с параметром args.
Исправляем конструктор Form1 таким образом, чтобы он принимал аргумент args и вызывал с ним функцию InitializeComponent ()
В классе Form1 создаём поле fargs для хранения аргументов.
Функцию InitializeComponents() исправляем таким образом, чтобы она принимала аргумент args и сохраняла его в поле fargs объекта Form1.
В обработчике Form1.Load проверяем размер массива fargs, и если он больше нуля, открываем файл, имя берём из первого элемента массива fargs.
Т.о. если пользователь запустил программу перетаскиванием на неё файла, созданного этой программой, то программа загрузит этот файл для редактирования/работы. Это сообщение отредактировал(а) Курсант - 8.10.2015, 09:03 |
||||||||||
|
|||||||||||
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |