C# XNA и Win Forms
|
|
Gspo | Дата: Четверг, 16 Августа 2012, 16:41 | Сообщение # 1 |
уже был
Сейчас нет на сайте
| Как добавить элементы Win Forms (напр. ListBox, Buttons , MessageBox, .... ) в проект XNA???
например пытался так: добавил ссылку win forms, добавил uses System.Windows.Forms; и вызвал в подходящем месте MessageBox.Show("aaa");
Окно вызывается , НО! показывается не над окном игры,а под окном (при fulscreen режиме)... то есть, если свернуть игру, то покажется окно msgbox-а. Как я понимаю, нужно задать "ссылку" на окно (Window object) , над котором будет виден (добавлен) нужный winform control , но как и откуда узнать эту "ссылку" и как задать??
Надеюсь я смог объяснить ситуацию. Заранее спасибо.
|
|
| |
Demeron | Дата: Четверг, 16 Августа 2012, 17:18 | Сообщение # 2 |
User created in C++
Сейчас нет на сайте
| Если ты хочешь в игровом окне (которое рендерит XNA) использовать WinForm - так нельзя.
|
|
| |
arthurfok | Дата: Четверг, 16 Августа 2012, 17:41 | Сообщение # 3 |
частый гость
Сейчас нет на сайте
| Demeron, а как вааще можно?
|
|
| |
Demeron | Дата: Четверг, 16 Августа 2012, 17:58 | Сообщение # 4 |
User created in C++
Сейчас нет на сайте
| arthurfok, найти GUI предназначенное для XNA и пользоваться.
|
|
| |
VolkodavAD | Дата: Четверг, 16 Августа 2012, 18:10 | Сообщение # 5 |
частый гость
Сейчас нет на сайте
| Есть способ. Опробовал (не хотел не проверенный выкладывать). Работает в XNA 4.0 . В 3.1 не проверял, но 99,9 что тоже пашет. ссылка на www.xnadev.ru. Статья как раз по этому вопросу
Думай, что говоришь. Говори, что думаешь.
|
|
| |
arthurfok | Дата: Пятница, 17 Августа 2012, 11:45 | Сообщение # 6 |
частый гость
Сейчас нет на сайте
| VolkodavAD, работает но в полноэкранном режиме button -а не видно... может знаешь как решить эту проблему?
-----------------------------------------------
я внимательно смотрел, и понял что на самом деле в полн.экр. режиме button добавляется, но 1 раз мерцает и потом его не видно.. когда закрыл окно Alt+F4 -ом, то button еще разок мерцанул, исчез , и окно закрылся. То есть, button просто не прорисовывается, на сколько я понимаю... можно ли это исправить?
------------------------------------------------
Вот, если в Draw добавить button1.Refresh(); // или burron1.Invalidate(); , то увидите, что уже постоянно мерцает...
Сообщение отредактировал arthurfok - Пятница, 17 Августа 2012, 12:41 |
|
| |
VolkodavAD | Дата: Понедельник, 20 Августа 2012, 22:28 | Сообщение # 7 |
частый гость
Сейчас нет на сайте
| Мла, а полноэкранном вообще "лажа". Как будто у кнопок и "окно XNA" буферы рисования не совпадают. Как исправить не нашёл. И идей других нет (
Думай, что говоришь. Говори, что думаешь.
|
|
| |
Oldren | Дата: Воскресенье, 23 Сентября 2012, 11:58 | Сообщение # 8 |
был не раз
Сейчас нет на сайте
| Gspo, если тебе не требуется полноэкранный режим, то есть один способ, который позволяет отрисовывать "окно xna" на winforms и тогда использовать все его элементы не составит труда! Вот пример:
Если хочешь могу написать, как такое сотворить!
Сообщение отредактировал Oldren - Воскресенье, 23 Сентября 2012, 22:32 |
|
| |
VolkodavAD | Дата: Вторник, 12 Февраля 2013, 13:58 | Сообщение # 9 |
частый гость
Сейчас нет на сайте
| Oldren, кинь в тему ссылку. На всякий. Щас как раз сижу разбираюсь сам.
Думай, что говоришь. Говори, что думаешь.
|
|
| |