首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用C#列出可用的视频模式?

要使用C#列出可用的视频模式,您可以使用System.Windows.Forms.Screen类。以下是一个简单的示例,演示如何列出所有可用的视频模式:

代码语言:csharp
复制
using System;
using System.Windows.Forms;

namespace ListVideoModes
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Available video modes:");
            foreach (var videoMode in GetVideoModes())
            {
                Console.WriteLine($"{videoMode.Width}x{videoMode.Height}");
            }
        }

        static Resolution[] GetVideoModes()
        {
            var videoModes = new List<Resolution>();
            foreach (var screen in Screen.AllScreens)
            {
                var currentScreenModes = screen.GetVideoModes();
                videoModes.AddRange(currentScreenModes);
            }
            return videoModes.Distinct().ToArray();
        }
    }

    public static class ScreenExtensions
    {
        public static Resolution[] GetVideoModes(this Screen screen)
        {
            var videoModes = new List<Resolution>();
            foreach (var screenMode in screen.AvailableResolutions)
            {
                videoModes.Add(new Resolution { Width = screenMode.Width, Height = screenMode.Height });
            }
            return videoModes.ToArray();
        }
    }

    public class Resolution
    {
        public int Width { get; set; }
        public int Height { get; set; }
    }
}

在这个示例中,我们使用了Screen.AllScreens属性来获取所有可用的屏幕,然后使用GetVideoModes方法来获取每个屏幕的可用视频模式。GetVideoModes方法使用AvailableResolutions属性来获取每个屏幕的可用分辨率,并将其转换为Resolution对象。最后,我们使用Distinct方法来删除重复的视频模式,并将其返回。

请注意,这个示例仅适用于Windows操作系统,并且需要引用System.Windows.Forms命名空间。如果您需要在其他平台上使用类似的功能,您可能需要使用其他库或API。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券