Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
TabCLick
TabPage のクリック
TabPage のクリックで RichTextBox にページ番号を表示します。
前田稔(Maeda Minoru)の超初心者のプログラム入門


プログラムの説明
- Text Editor の開発において、TabControl と RichTextBox の従属関係を調べるのが目的でプログラムしました。
Visual Studio Professional 2013 Preview で作成したプログラムが 2005 でうまく動作しないので調査します。
このプログラムは次の環境でテストしました。
※Windows 8.1(2014/04/13 Update 版)
※Microsoft Visual Studio 2005
- メニューから [ファイル/新規作成/プロジェクト] を選択します。
テンプレートから [Visual C#/Windows/Windowsフォームアプリケーション] を選択します。
名前は規定値で [WindowsFormsApplication1] になっています。
- Form のデザインを表示して幅を広げます。
[ツールボックス] から [MenuStrip] を貼り付けます。
メニューを設定してイベントハンドラを作成します。
| グループ | メニュー | メソッド |
| ファイル(&F) | ページ追加(&A) | Add メソッド |
| 終了(&X) | Exit メソッド |
- [ツールボックス] から [tabControl] を横長に貼り付けます。
tabControl の tabPage2 を選択して、右クリックメニューで削除します。
Form の下は RichTextBox 用に空けておきます。
- Form を選択した状態で、Form の下部に RichTextBox を張り付けます。
配置によっては tabControl が表示されなくなります。
また操作中に tabControl に重なると従属するようなので、離れて配置して下さい。
TabPage に従属すると、ページを切り替えたときに RichTextBox が表示されません。
- メニューをコーディングします。
Add() メソッドで tabPage を追加します。
Exit() メソッドでプログラムを終了します。
int m_Page = 2;
private void Add(object sender, EventArgs e)
{
TabPage tab = new TabPage("Page" + m_Page);
tabControl1.TabPages.Add(tab);
m_Page++;
}
private void Exit(object sender, EventArgs e)
{
this.Close();
}
|
- TabControl を選択して Selected イベントを設定します。
tabSelected イベントをコーディングします
private void tabSelected(object sender, TabControlEventArgs e)
{
richTextBox1.Text = "Tab Page:\r\n" + e.TabPageIndex;
}
|
- TabControl の Dock を Fill に設定すると Form の拡大/縮小でフィットします。
RichTextBox には Dock の Fill は使えないようです。
RichTextBox の再配置が必要なときは、Form の Resize で計算して下さい。
- プログラムを実行して、メニューから [ページ追加] を選ぶと TAB にページが追加されます。
TabPage をクリックすると、選択されたページが RichTextBox に表示されます。
- Form1.Designer.cs を調べると RichTextBox が Form に直接貼り付けられているのが解ります。
this.Controls.Add(this.richTextBox1);
this.Controls.Add(this.tabControl1);
|
RichTextBox が tabPage1 に従属している場合です。
この状態では tabPage1 には RichTextBox が表示されるのですが、ページを切り替えると表示されなくなります。
// tabPage1
this.tabPage1.Controls.Add(this.richTextBox1);
|

超初心者のプログラム入門(C# Frame Work)

※・
※・