トップページ
ひらく | たたむ | ページトップ
↓マウスで反転選択した文字を検索
C#
   
ページ内検索 ページ外検索
検索したい文字を入力して
ENTERを押すと移動します。
\n
[ トップページ ]
[ ____CommandPrompt ] [ ____JScript ] [ ____MySQL ] [ ____Cygwin ] [ ____Java ] [ ____Emacs ] [ ____Make ] [ ____Perl ] [ ____Python ] [ ____OpenGL ] [ ____C# ] [ ____StyleSheet ] [ ____C++ ] [ ____Winsock ] [ ____Thread ] [ ____VisualStudio ] [ ____C ] [ ____Win32API ] [ ____Lua ] [ ____PhotoShop ]
ヘッダ検索
___

■ GUI


    Form とは, GUI をはりつける部品の領域のこと.
    System.Windows.Forms.Form




    
  USAGE
    File > New > C# WindowsApplication

    コントロールはツールボックスから配置する。
    表示 > ツールボックス
d:/img/test/test.bmp File 構成 Form1_Designer.cs // Form1 class が定義されている. Form 用の code ( 自動生成 ) Program.cs // EntryPoint 新たにフォームを作る SE > NodeApp > RMB > 「追加」→「Windowsフォームの追加」
___

■ DialogBox

    // どのボタンを選択したかを判断する
    if (MessageBox.Show("ボタンを選択", "タイトル", MessageBoxButtons.YesNo) == DialogResult.Yes) {
        MessageBox.Show("[はい] ボタンを選択しました");
    } else {
        MessageBox.Show("[いいえ] ボタンを選択しました");
    }

___

■ Event

___

■ Mouse(マウスイベント)

  // マウスボタンの左ボタンが押されたときにウィンドウを移動する。
        private void splitContainer1_Panel1_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                this.Left += e.X;
                this.Top += e.Y;
            }
        }
___

■ KeyboardEvent(キーボードイベント)

___

■ Form

using System.Windows.Forms;

    // Icon

    // タイトル
    Form.Text = "タイトル";

    // 透明
    Form.Opactiy = 0.5f;

    // 最前面
    Form.TopMost = true;

    // 最大, 最小ボタン
    Form.MaximizeBox = false;
    Form.MinimizeBox = false;

    // 背景画像
    Form.backgroundImage = Image.FromFile( "d:/test.bmp" );


    // ウィンドウ枠( フレーム )をなしにする。
    Form.FormBorderStyle = FormBorderStyle.None;
    Form.TransparencyKey = Color.White;

    // 表示する。
    Form.Show();
    
    // 閉じる
    Form.Close();

    // 非表示にする。
    Form.Hide();

    // フォームを強制的にアクティブにする
    //   複数のフォームやマルチタスクによりフォーカスが他のフォームに移る場合に使う。
    this.Activate();
Show メソッドは生成元のオブジェクトが残る。 Form1とForm2が同時 に表示され 同時にフォーム上のコントロールを操作できる。
           private void Form1_Load(object sender, System.EventArgs e)
           {
              Form Form2=new Form();
              Form2.Show();
           }
ShowDialog メソッドは生成元のオブジェクトからフォーカスを奪うとともに 生成元を閉じる。
        private void Form1_Load(object sender, System.EventArgs e)
        {
           Form Form2=new Form();
           Form2.ShowDialog();
        }    

   ShowDialogメソッドで開いたフォームの場合
   Closeメソッドを実行してもフォームオブジェクトは捨てられないので
   Disposeメソッドを併せて実行すること。
   (Disposeすることによって使用メモリが開放される。)

    this.Dispose();

フォームを画面中央に表示するには 画面全体の大きさを取得する。
    int w, h;
    w = Screen.PrimaryScreen.WorkingArea.Width; //画面の幅
    h = Screen.PrimaryScreen.WorkingArea.Height; //画面の高さ
  // Form の表示前
  private void Form_load( object sender, EventArgs e ) {
  
  }
  // Form の閉じる前
  private void Form_FormClosing( object sender, EventArgs e ) {
  
  }
  // Form の閉じた後
  private void Form_Closed( object sender, EventArgs e ) {
  
  }
  // Form のサイズが変わったとき
  private void Form_Resize( object sender, EventArgs e ) {
  
  }
___

■ DragDrop

まず DragDrop をうけつけるように form の AllowDrop プロパティを true にする。
    DragDrop = true
    // DragDrop をうけつける

    プロパティエディタで "イベント""DragDrop""DragEnter" に用意する。

    // "DragEnter" のイベントハンドラー内で、ドラッグされてきたファイルを受け入れられることを通知するプログラムを記載します。

    private void dataGridMeisaisyo_DragEnter(object sender, DragEventArgs e)
    {

      // ファイルのドラッグアンドドロップのみを受け付けるようにする。
      if (e.Data.GetDataPresent(DataFormats.FileDrop))
      {
          // ドロップされたファイルは、アプリケーション側に内容がコピーされる
          e.Effect = DragDropEffects.Copy;

      }

    }    

    // "DragDrop" イベントハンドラーに、ドロップされた時の制御プログラムをかく
    private void dataGridMeisaisyo_DragDrop(object sender, DragEventArgs e)
    {

        // ドラッグアンドドロップされたファイルのパス情報を取得します。
        foreach (String path in (string[])e.Data.GetData(DataFormats.FileDrop) )
        {
          // "filename" 変数に格納されたドロップされたファイルの処理をする。

        }

    }
___

■ Control

    // 表示, 非表示
    Control.Visible = true;

    // 有効/無効
    Control.Enabled = true;

    // 位置
    Control.Left = 0;
    Control.Top = 0;

    // 大きさ
    Control.Width = 100;
    Control.Hight = 100;

    // 自身にフォーカスする
    Control.Focus();

___

■ Control.の動的な追加

    Form.Controls.Add( Control )

    Form_load() {
      Label l = new Label();

      this.Controls.Add( l );
      this.Controls.Remove( l );
    }

___

■ layout

___

■ SplitContainer

DESC Control がない状態でフォームに配置すると 縦に分割した2つの領域を作成できる。
___

■ TrackBar(Slider)

    // 最大最小を設定
    TrackBar1.Minimum = 1;
    TrackBar1.Maximum = 10;

    // 現在の値 ( カーソル位置も変更される )
    TrackBar1.Value = 5;

カーソルが移動した時のコールバック
    private void trackBar1_Scroll(object sender, EventArgs e)
    {
      int value = trackBar1.Value;
    }
___

■ Textbox

{ this.LogWindow.Clear (); // 文字列を追加 LogWindow. // Accept.cs 参照
    textbox1.Text = "aaa";
    textbox1.Clear();

    // ReadOnly にする
    textbox1.ReadOnly = true;

    // 選択された文字列
    textbox1.SelectedText;
    // 選択された文字数
    textbox1.SelectionLength;

    // 行数( string 配列 )
    textbox1.Lines.Length;

    // 追加する。
    textbox1.AppendText ( str + "\r\n" );
    
    MessageBox.Show( textbox1.Text );
___

■ CheckBox


    if ( CheckBox1.Checked() ) {


    }
___

■ Listbox

    // 項目を追加
    listBox1.Items.Add( "A" );
    listBox1.Items.Add( "B" );

    // 削除
    listBox1.Items.Remove( "B" );
    listBox1.Items.RemoveAt( 2 );
    listBox1.Items.Clear()

    Object o = listBox1.SelectionItem;
    int i = listBox1.SelectedIndex;

___

■ CommboBox

    // 項目を追加
    commboBox1.Items.Add( "A" );
    commboBox1.Items.Add( "B" );

    // 選択中のアイテム
    commboBox1.Text;
___

■ ProgressBar

                          //progressBar1.Maximum = 100;
                            //progressBar1.Value += 10;
                            //progressBar1.Value += 50;
                            progressBar1.Value += 33;

  WARNING
    Value が 100 を超えると, 落ちる
    query すること

    // windows の style の影響をうける
            //progressBar1.Style = ProgressBarStyle.Marquee;
            progressBar1.Style = ProgressBarStyle.Continuous;
___

■ PictureBox

    // 画像を設定
    pictureBox1.Image = Image.FromFile( "d:/foo.bmp" );

    // 大きさの調整
    pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;

















NINJAIDX 10