JScript.NET  新JavaScript入門  JavaScript,Neo-Generation  DOM  WSH  掲示板  表紙
Written 10/12/03
JScript.NET
ダイアログボックス
ダイアログボックスの表示
モーダルダイアログボックスの表示は非常に簡単です。
次のようにします。
    dialog1.js
    ----------------------------------------------------------------
    import System.Windows.Forms;
    
    var f : Form = new Form();
    f.ShowDialog();      //モーダルダイアログボックスとして表示
 
System.Windows.Forms.Formクラスのインスタンスを作って、 ShowDialogメソッドで表示するだけです。
こうすると単なるのっぺらぼうなウィンドウが表示されます。
ここからは次のようにコンパイルしましょう。
    >jsc /target:winexe dialog1.js
 
あるいは、
    >jsc /t:winexe dialog1.js
 
こうすると、ダブルクリックで起動したときもDOSの画面が表示されなくてすみます。
位置とサイズ
ダイアログの位置とサイズは次のように指定します。
    dialog2.js
    ------------------------------------------------
    import System.Windows.Forms;
    
    var f : MyForm = new MyForm();
    f.ShowDialog();
    
    class MyForm extends Form {
        function MyForm() {
            super();
            Width = 100;
            Height = 100;
            Top = 50;
            Left = 200;
            //これが無いとシステムに位置を決められる
            StartPosition = FormStartPosition.Manual;
        }
    }
 
StartPositionを上のように設定しないと、 位置はシステムの設定になります。
次のようにSystem.Drawing.Sizeと System.Drawing.Point構造体を使うと少しすっきりします。
    dialog3.js
    ------------------------------------------------
    import System.Windows.Forms;
    import System.Drawing;
    
    var f : MyForm = new MyForm();
    f.ShowDialog();
    
    class MyForm extends Form {
        function MyForm() {
            super();
            Size = new System.Drawing.Size(100, 100);
            Location = new Point(200, 50);
            StartPosition = FormStartPosition.Manual;
        }
    }
 
上ではFormクラスから継承したクラスを定義していますが、 そんなことをしなくてももちろんよいです。
    import System.Windows.Forms;
    import System.Drawing;
    
    var f : Form = new Form();
    f.Size = new System.Drawing.Size(100, 100);
    f.Location = new Point(200, 50);
    f.StartPosition = FormStartPosition.Manual;
    f.ShowDialog();
 
こちらの方が簡単ですが、場合によって使い分けてください。
コントロールの配置
ボタンなどのコントロールは次のように配置します。
    dialog4.js
    ------------------------------------------------
        ...
    class MyForm extends Form {
        var btn1 : Button;    //ボタンオブジェクト
        function MyForm() {
            super();
            Size = new System.Drawing.Size(100, 80);
            Location = new Point(200, 50);
            StartPosition = FormStartPosition.Manual;
            btn1 = new Button();
            btn1.Text = "押してね☆";    //ボタンの表示テキスト
            btn1.Location = new Point(15, 20);
            Controls.Add(btn1);           //ボタンを配置する
        }
    }
 
FormのControlsプロパティは フォーム上のコントロールのコレクションを表します。
その他の設定
その他の設定が色々あります。
        ...
    class MyForm extends Form {
        var btn1 : Button;
        function MyForm() {
                ...
            Text = "test";            //ウィンドウタイトル
            MaximizeBox = false;
            MinimizeBox = false;
            ControlBox = false;       //閉じるボタンを非表示
            ForeColor = Color.Red;
            BackColor = Color.White;
        }
    }
 
他にも色々あるので、 Form メンバ をご覧ください。
JScript.NET exit