2013-12-04 4 views
0

Я унаследовал графический интерфейс C#, в который мне нужно внести некоторые изменения. Главное, что мне нужно сделать, - это активировать контроллеры представления для заполнения форм и вещей автоматически и без пользователя.Выполнение графического интерфейса C# из-под

Будучи очень новым для C#, можно ли инициализировать элементы GUI и обработчики событий, чтобы они были действительными объектами без фактического отображения их на экране? Конечной целью является создание нового API, который эффективно формирует вариант стиля командной строки того, что уже существует.

Я ценю, что этот вопрос может натолкнуться на немного смущенно, так как я все еще погружаюсь в палец и пытаюсь почувствовать свой подход.

ответ

1

Будучи очень новым для C#, можно ли инициализировать элементы GUI и обработчики событий, чтобы они были действительными объектами без фактического отображения их на экране?

Да, вы можете установить их видимость на false. И они не будут видны. Или, альтернативно, вы не добавляете их в какой-либо отображаемый элемент управления. Если вы перейдете в файл designer.cs вашей формы, вы увидите эту строку.

this.Controls.Add 

Это в основном добавление вашего контроля в форму. Если вы пропустите эту строку, она не будет отображаться.

+0

Хорошо, кажется достаточно простым, и я вижу линию, которую вы упоминаете. Есть много элементов в графическом интерфейсе и множестве подлодок, поэтому кажется, что было бы разумнее просто сделать родительское окно невидимым? Похоже, что он довольно хорошо разработан, поэтому я надеюсь, что смогу полностью отключить графический интерфейс в какой-то момент и подражать эффектам каждого элемента управления как отдельного API, но это кажется слишком сложным для начала, поэтому эмуляция пользователя кажется лучшим способом в первую очередь. Могу ли я запускать такие события, как щелчки мыши с кодом? –

+0

Да, вы можете. yourButton.PerformClick() поднимет событие клика. – Ehsan

+0

Отлично, спасибо - я думаю, на мои вопросы ответили! –

1

Если вы собираетесь написать интерфейс командной строки для приложения GUI (не обычный подход), то как насчет создания экземпляра и просто не называть .Show()? Вы можете управлять отдельными элементами из свойства .Controls.

+0

Похоже, это будет моя отправная точка. –

Смежные вопросы