フルスクリーンモードを利用するときその環境で利用できるディスプレイモードをしっかりと確認しなければなりません。
foreach(DisplayMode dm in Manager.Adapters[0].SupportedDisplayModes) { string str = dm.Width.ToString() +" : " + dm.Height.ToString() +" : " + dm.Format.ToString() +" : "+ dm.RefreshRate.ToString(); this.listBox1.Items.Add(str); }
ディスプレイモードはManager.Adapters[利用するアダプタ番号].SupportedDisplayModesにあります。ここから、foreachで全てのモードを取り出せます。
その環境の0番アダプタで利用できるディスプレイモードを列挙します。
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using Microsoft.DirectX; using Microsoft.DirectX.Direct3D; namespace AdapterList { /// <summary> /// Form1 の概要の説明です。 /// </summary> public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.ListBox listBox1; /// <summary> /// 必要なデザイナ変数です。 /// </summary> private System.ComponentModel.Container components = null; public Form1() { // // Windows フォーム デザイナ サポートに必要です。 // InitializeComponent(); // // TODO: InitializeComponent 呼び出しの後に、コンストラクタ コードを追加してください。 // } /// <summary> /// 使用されているリソースに後処理を実行します。 /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if(components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows フォーム デザイナで生成されたコード /// <summary> /// デザイナ サポートに必要なメソッドです。このメソッドの内容を /// コード エディタで変更しないでください。 /// </summary> private void InitializeComponent() { this.listBox1 = new System.Windows.Forms.ListBox(); this.SuspendLayout(); // // listBox1 // this.listBox1.Dock = System.Windows.Forms.DockStyle.Fill; this.listBox1.ItemHeight = 12; this.listBox1.Location = new System.Drawing.Point(0, 0); this.listBox1.Name = "listBox1"; this.listBox1.Size = new System.Drawing.Size(292, 268); this.listBox1.TabIndex = 0; // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(5, 12); this.ClientSize = new System.Drawing.Size(292, 273); this.Controls.Add(this.listBox1); this.Name = "Form1"; this.Text = "Form1"; this.Load += new System.EventHandler(this.Form1_Load); this.ResumeLayout(false); } #endregion private void Form1_Load(object sender, System.EventArgs e) { //重要なのはここ foreach(DisplayMode dm in Manager.Adapters[0].SupportedDisplayModes) { string str = dm.Width.ToString() +" : " + dm.Height.ToString() +" : " + dm.Format.ToString() +" : "+ dm.RefreshRate.ToString(); this.listBox1.Items.Add(str); } } public static void Main(string []argv) { Application.Run(new Form1()); } } }