C++->C#の違いの覚書11

  • UpDownコントロールには、NumericUpDownコントロールとDomainUpDownコントロールがある
    • NumericUpDown:コントロールの現在地はValueプロパティで取得(10進値)
      • 浮動小数点値を表示するには、DecimalPlacesプロパティに精度を指定
      • MaxMinはMinimumプロパティとMaximumプロパティで指定で、StepはIncrementプロパティを指定
      • UpDownを操作することで発生するイベントはValueChangedで、
      • UpDownを操作せずにテキストボックスを直接変更した場合はTextChangedイベントとなる
    • DomainUpDownコントロールは、任意のコレクションをUpDownすることができる
      • DomainUpDownでのValueプロパティ相当は、SelectedIndexプロパティやSelectedItemプロパティを用いる
      • 選択項目を変更することで発生するイベントはSelectedItemChanged
  • ProgressBarコントロールの範囲もMinimumとMaximumプロパティで設定
    • 表示する値を変更するにはPerformStepメソッドかIncrementメソッドを用いる
      • PerformStep:Stepプロパティで指定した量だけコントロールの値を更新する
      • Increment:メソッドのパラメータで指定した量だけコントロールの値を更新する
      • Valueプロパティはプログレスバーの現在位置で、StepプロパティはPerformStep時の増減量だが
        明示的にValueを直操作することもできる
  • PictureBoxコントロールで画像を設定するプロパティはImage、SizeModeプロパティでZoomとか指定
    • pctureBox.Image = Image.FromFile( @"C:\windows\xxx.bmp" );
  • ImageListコントロールに画像を追加するには、Addメソッドを使用(オーバーロード多種)
    • Image cImage = Image.FromFile( @"C:\Windows\xxx.bmp" ); imageList.Add( cImage );
  • RichTextBoxコントロールでのファイル読み込みは次の3通りのオーバーロードを使う
    • richTextBox.LoadFile( path );
    • richTextBox.Loadfile( path, RichTextBoxStreamType.RichText );//PlainTextとか色々ある
    • FileStream fs = new FileStream( path, FileMode.Open );
      richTextBox.LoadFile( fs, RichTextBoxStreamType.RichText );
  • RichTextBoxコントロール内容の保存にも3つのオーバーロード
    • richTextBox.SaveFile( path );
    • richTextBox.SaveFile( path, RichTextBoxStreamType.RichText );
    • FileStream fs = new FileStream( path, FileMode.Create );
      richTextBox.SaveFile( fs, RichTextBoxStreamType.RichText );
  • TabControlコントロールはTabPageをコンテナとしてというあたりは同じ
    • TabControlコントロールはインデクサが用意されているので、tabCtrl.TabPages[0].Text = "タブ1";ができる
    • PGでTabPageを追加する場合は、TabPage tab = new TabPage("xx"); tabCtrl.TabPages.Add( tab );
    • 上記PGで複数追加する場合とかはAddRangeメソッドにTabPage[]なオブジェクトをほりこめばよい


TabPage [] pages = new TabPage []{ new TabPage("1"), new TabPage("2"), new TabPage("3") };
tabCtrl.TabPages.AddRange( pages );

    • 削除するには、RemoveメソッドにTabPageオブジェクトの参照を渡す方法か、RemoveAt(インデックス)メソッドを用いる
    • Clearメソッドは想像どーり
    • よく使うプロパティには、SelectedIndexやSelectedTab、及びTabCountがあるが想像通り
    • Appearanceプロパティではタブをボタンや平坦なボタンをして表示させることができるがどうでしょう・・
    • SizeModeプロパティでタブ幅の調整ができ、これよく使うかも
  • MonthCalendarコントロールのよく使うプロパティ
    • MaxSelectionCount:複数選択する最大数
    • SelectionRange:選択されている日付を表すSelectionRangeオブジェクト
      • SelectionRangeクラスにはさらにStartとEndのプロパティがありDateTime値である
    • 最大12か月をグリッド形式で表示することができるが、マー使わないでしょう。
    • ShowTodayプロパティをfalseにすると、下部に表示される"今日:xxx"が非表示となる
    • ShowTodayCircleプロパティをfalseにすると、想像通りに今日の日付に○がつかなくなる
    • TodayDateプロパティはシステム時計による日付を用いない場合に利用する
      • HolidayCalendar.TodayDate = DateTime.Now.AddDays(2.0);//明後日を今日とする
      • 上記のように明示的に日付が設定されている場合は、TodayDateSetプロパティがtrue
    • FirstDayOfWeekでカレンダの最初の曜日を指定
      HolidayCalendar.FirstDayOfWeek = Day.Monday;
    • AddBoldedDateメソッドは特定の日付を追加、RemoveBoldedDateはそれを削除するメソッド+UpdateBoldedDateメソッド
    • 他にも結構色々あるので、凝ったのを作りたいときは調べる
  • DateTimePickerコントロールは前からあるやつなんで省略(使いたい時に調べる)
  • コントロールの位置とサイズの管理
    • Anchorプロパティ:親であるコンテナのサイズが変更されたときに、そのコントロールをどのように配置するか指定
      • フォームにOK,キャンセルボタンがあって中央にeditがあるような場合で、フォームが拡大された場合
        ボタンは右端に吸着し、エディットはフォームサイズの拡大に伴って大きくするとかに使う
        デザイナーでanchorプロパティを変更する場合、視覚的に指定できるのでいけてる
    • Dockプロパティ:ツールバーのようにコンテナの端にドッキングする際に用いるプロパティであるが、
      AnchorのようにORすることはできない。