Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
 Аватар для Receptor
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 9

Массив разрешений экрана, которые поддерживаются на использующейся машине

06.06.2012, 20:38. Показов 2571. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте. В c# очень мало понимаю, как и в ООП в общем-то. Меня интересует вопрос, как я могу получить список разрешений экрана, которые поддержуются на использующейся машине. Заранее очень благодарен.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.06.2012, 20:38
Ответы с готовыми решениями:

Получение разрешений экрана
Я пробовал получить разрешения экрана, и написал такой код: импорт функций WinAPI public static extern bool...

Поддержка приложением различных разрешений экрана
Здравствуйте, знатоки! Нужна Ваша помощь. В общем есть программа, которая заточена под разрешение 1600x900. Программа идёт не на полный...

Нахождение всех возможных разрешений экрана
Всем здрасьте , можно ли без всяких DirectX найти , какое разрешение на экране или какие возможно разрешение вообще?

12
Футболист
 Аватар для Goal
533 / 435 / 142
Регистрация: 31.10.2011
Сообщений: 1,010
06.06.2012, 20:45
C#
1
2
 System.Windows.Forms.SystemInformation.PrimaryMoni​torSize.Width;
 System.Windows.Forms.SystemInformation.PrimaryMoni​torSize.Height;
получить текущуее разрешение(высота ширина)
0
11 / 11 / 2
Регистрация: 03.06.2012
Сообщений: 25
06.06.2012, 20:49
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
using System;
using System.Linq;
using System.Runtime.InteropServices;
//using System.Windows.Forms;
 
namespace ListResolutions
{
 
    class Program
    {
        [DllImport("user32.dll")]
        public static extern bool EnumDisplaySettings(
              string deviceName, int modeNum, ref DEVMODE devMode);
        const int ENUM_CURRENT_SETTINGS = -1;
 
        const int ENUM_REGISTRY_SETTINGS = -2;
 
        [StructLayout(LayoutKind.Sequential)]
        public struct DEVMODE
        {
 
            private const int CCHDEVICENAME = 0x20;
            private const int CCHFORMNAME = 0x20;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 0x20)]
            public string dmDeviceName;
            public short dmSpecVersion;
            public short dmDriverVersion;
            public short dmSize;
            public short dmDriverExtra;
            public int dmFields;
            public int dmPositionX;
            public int dmPositionY;
            public int dmDisplayOrientation;
            public int dmDisplayFixedOutput;
            public short dmColor;
            public short dmDuplex;
            public short dmYResolution;
            public short dmTTOption;
            public short dmCollate;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 0x20)]
            public string dmFormName;
            public short dmLogPixels;
            public int dmBitsPerPel;
            public int dmPelsWidth;
            public int dmPelsHeight;
            public int dmDisplayFlags;
            public int dmDisplayFrequency;
            public int dmICMMethod;
            public int dmICMIntent;
            public int dmMediaType;
            public int dmDitherType;
            public int dmReserved1;
            public int dmReserved2;
            public int dmPanningWidth;
            public int dmPanningHeight;
 
        }
 
        static void Main(string[] args)
        {
            DEVMODE vDevMode = new DEVMODE();
            int i = 0;
            while (EnumDisplaySettings(null, i, ref vDevMode))
            {
                Console.WriteLine("Width:{0} Height:{1} Color:{2} Frequency:{3}",
                                        vDevMode.dmPelsWidth,
                                        vDevMode.dmPelsHeight,
                                        1 << vDevMode.dmBitsPerPel, vDevMode.dmDisplayFrequency
                                    );
                i++;
            }
            Console.ReadLine();
        }
 
    }
 
}
0
 Аватар для Receptor
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 9
06.06.2012, 21:03  [ТС]
Goal Мне нужно не текущее, а список возможных

aliubushyn Благодарю. Разобраться бы еще.
0
11 / 11 / 2
Регистрация: 03.06.2012
Сообщений: 25
06.06.2012, 21:55
А что разбираться. Это полностью готовое консольное приложение. Оно выведет список возможных всех разрешений. Задавайте вопросы если что не ясно.
0
 Аватар для Receptor
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 9
06.06.2012, 22:07  [ТС]
Я понял что консольное. Можно я опишу свою задачу тогда в кратце? (только чур не ржать )
Дело такое, есть игра, я хотел бы для нее написать небольшой лаунчер или окошко опций, что бы юзер мог перед игрой выбрать разрешение и прочие плюшки. В последствии записывать все в ini, а игра уже будет читать из файла. С записью/чтением мне ясно. А вот как сделать список (ComboBox) с доступными разрешениями, я не пойму. Если честно, я настолько зеленый в Visual c# , что даже не знаю куда этот код запихнуть, что бы правильно работало. По сути мне в этом коде нужно не выводить в консоль, а записывать все разрешения в ComboBox, но я не знаю как. Пните меня, пожалуйста.

Добавлено через 2 минуты
Или есть методы попроще может? Я что-то в гугле мельком видел, некое Microsoft.Xna, что это такое вообще? Там есть класс отвечающий за графический девайс и его параметры.

П.С. Игра в 3д
0
11 / 11 / 2
Регистрация: 03.06.2012
Сообщений: 25
06.06.2012, 22:29
Пример в приложении.
Вложения
Тип файла: rar WindowsFormsResolutions.rar (1.65 Мб, 87 просмотров)
0
11 / 11 / 2
Регистрация: 03.06.2012
Сообщений: 25
06.06.2012, 22:33
Microsoft.Xna не советую использовать для этой задачи. Это как из пушки по воробьям.
0
 Аватар для Receptor
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 9
07.06.2012, 01:53  [ТС]
aliubushyn Спасибо большое. Только не пойму, я переношу с метода клика по кнопке в метод Form1_Load, что бы разрешения загружались при загрузке программы, но не работает. Такое ощущение что сам метод Load не срабатывает, из-за чего это может быть?
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
07.06.2012, 07:08
Возможно вы не добавили его в качестве обработчика события?
А вообще, Load используется внешними классами. В самом классе формы нет смысла его использовать - перенесите просто код в конструктор.
0
 Аватар для Receptor
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 9
07.06.2012, 18:19  [ТС]
turbanoff Да. Именно. Я даже не знал про события. Классная штука
aliubushyn Разобрался. Все работает как часы. Уже многое успел для себя открыть и почти все что нужно сделал. Огромное, человеческое спасибо Вам.

Добавлено через 7 часов 47 минут
turbanoff подскажите еще пожалуйста, конструктор - это что-то вроде основного кода программы? где его найти. program.cs - это не оно случайно?
0
07.06.2012, 19:36

Не по теме:

Начните вы читать книжку по C# какую-нибудь. Это будет быстрее, правда. Тем более сам c# довольно простой и удобный язык.

0
 Аватар для Receptor
0 / 0 / 0
Регистрация: 06.06.2012
Сообщений: 9
07.06.2012, 23:31  [ТС]
Читал "C# для 13-летних")) А вообще я основы вроде как зна, просто я никогда не работал именно в визуальной среде, в частности в Visual Studio.

Добавлено через 1 минуту
Я в Unity3d только на c# до этого работал, но сами понимаете, что там все проще, т.к. готовые классы и процедуры уже встроенные, например, получить там список разешений можно всего одной строчкой.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.06.2012, 23:31
Помогаю со студенческими работами здесь

Как получить список разрешений экрана?
Как узнать список разрешений, которые поддерживает монитор? Типа как здесь.

Получить список разрешений экрана монитора
Подскажите пожалуйста оптимальный способ чтобы получить список разрешений экрана монитора (главного, но возможно и других). На плюсах есть...

На новой видеокарте доступно множество разрешений и частот экрана
Купил себе новую видеокарту PALIT GTX 660. Старая у меня была PALIT GeForce 210. С новой видеокартой в панели управления nvidia, в выборе...

Как адаптировать свой сайт для разных разрешений экрана?
Вот сайт - http://anime-test.e3w.ru . На моем разрешении показывает всё нормально,две картинки вверху,вместе,по 50% каждая в ширину и...

Получить список всех доступных разрешений экрана с частотами оновления
Собственно сабж. Гуглил, да и местный поиск не обидел... Язык C++ Builder.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru