Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Внешний вид конролов


Автор: Injener 4.12.2006, 17:43
У меня VS.Net 2005. Когда я в визуальном редакторе размещаю контролы на форме, они нормально смотрятся (напр. кнопки с закругленными концами и.п.) Как только компилирую приложение, и запускаю его всё становится деревянным, напр. теже кнопки становятся квадратными и т.п. (В стиле Win 2000). В чем дело? Как сделать чтобы все было в норме?

Автор: DarkDragon 4.12.2006, 18:07
Точно не знаю(у меня VS.NET 2003), но вроде в опциях проекта нужно найти checkbox с названием EnableVisualStyle, что то вроде этого. Вот в 2003 версии делается так: Application.EnableVisualStyle(), а вот в 2005 вроде делается из опциях программы. Лазай в опции проекта.

А причина тому что у тебя так получается: VS.NET редактор сразу же поддерживает визуальную тему XP, но так как приложение может и не пользоваться стилями XP, поэтому была введена специальная настройка, с помощью которой можно указать, надо ли использовать шкуру XP. А у тебя она стоит в  false, надо бы её поставить в true, и все.

Автор: Injener 5.12.2006, 07:54
Лазил по опциям проекта, что-то найти не получается smile 

Автор: mr.DUDA 5.12.2006, 09:45
Проверь наличие строки:

Цитата(DarkDragon @  4.12.2006,  17:07 Найти цитируемый пост)
Application.EnableVisualStyle()


в методе Main()

Автор: Injener 11.12.2006, 13:25
Такой строки нет в Main():
Код

static void Main() 
{
  Application.Run(new frmGL());
}


Если его туда просто добавить:
Код

static void Main() 
{
  Application.EnableVisualStyle();
  Application.Run(new frmGL());
}

то пишет ошибку.

Или я что-то неправильно понял? Как правильно сделать?

Автор: DarkDragon 11.12.2006, 17:18
Цитата(Injener @  11.12.2006,  13:25 Найти цитируемый пост)
то пишет ошибку.

Надо уточнить кто пишет ошибку: Debugger или Редактор кода, но я догнал почему ошибка, и по этому ошибку пишет Редактор Кода а потом при запуске пишет Debugger.  smile 

Я написал эту строку, а mr.DUDA скаментировал её.
Application.EnableVisualStyle();
но такой процедуры в Application нет, есть:

Код

Application.EnableVisualStyles(); // Забыл во множественом числе поставить


Поставь и все заработает.

Автор: Injener 11.12.2006, 17:46
Все заработало! smile 
 А если теперь полученное приложение попадет на комп с Win2000, никаких косяков не будет??? smile 

Автор: DarkDragon 11.12.2006, 20:43
Нет косяков не будет. Ведь в Win2000, есть свое оформление, приложение будет пользоваться именно той темой которая установленна. 

Автор: Injener 12.12.2006, 08:46
Спасибо за исчерпывающие ответы! smile 
Вопрос решен smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)