ファイルをバイナリ形式で表示する (C#/VB Winow Form編)

ビューの初期化

ディレクトリツリー・ビュー、ファイル一覧表示ビューおよび、ファイルデータ表示ビューの初期化を行います。

各ビューは独立したクラスとなっていなくて、「MainForm.cs」(VBの場合は「MainForm.vb」)に集まってしまっているので、各ビュー毎にファイルを分割します。
(1つのクラスに沢山の機能が入ってしまうときは、ある程度まとまった機能ごとにファイルを分割した方が保守性はよいです。)

  • ディレクトリツリー・ビューの機能は「FileTreeView.cs」(VBの場合は「FileTreeView.vb」)にまとめます。

  • ファイル一覧表示ビューの機能は「FileListView.cs」(VBの場合は「FileListView.vb」)にまとめます。

  • ファイルデータ表示ビューの機能は「FileDataView.cs」(VBの場合は「FileDataView.vb」)にまとめます。

メインフォームを初期化する

メインフォームの初期化処理を行うために、Load()メソッドをオーバーライドします。

「MainForm」の「Load」プロパティに「MainForm_Load」を追加します。


C# ソースコード [MainForm.cs]


// -----------------------------------------------------------------------
/// <summary>
/// メインフォームの初期処理.
/// </summary>
/// <param name="sender">
/// イベントを発生させたオブジェクト.
/// </param>
/// <param name="e">
/// イベント・パラメータ.
/// </param>
private void MainForm_Load( object sender, EventArgs e )
{
    //! ディレクトリツリー・ビューを初期化する.
    FileView_Init();

    //! ファイル一覧表示ビューを初期化する.
    FileList_Init();

    //! ファイルデータ表示ビューを初期化する.
    FileData_Init();
}
	

VB ソースコード [MainForm.vb]


'' -----------------------------------------------------------------------
''' <summary>
''' 初期処理.
''' </summary>
''' <param name="sender">
''' イベント対象のオブジェクト.
''' </param>
''' <param name="e">
''' イベントパラメータ.
''' </param>
Private Sub MainForm_Load( sender As Object, e As EventArgs ) Handles MyBase.Load

    ' ディレクトリツリーを初期化する.
    FileView_Init()

    ' ファイル一覧を初期化する.
    FileList_Init()

    ' バイナリ表示画面を初期化する.
    FileData_Init()

End Sub
	

メインフォームの初期化処理で各ビュー(ディレクトリツリー・ビュー、ファイル一覧表示ビューおよび、ファイルデータ表示ビュー)の初期化を行います。

ディレクトリツリー・ビューを初期化する

C# ソースコード [FileTreeView.cs]


// -----------------------------------------------------------------------
/// <summary>
/// ディレクトリツリーの初期処理.
/// </summary>
private void FileView_Init()
{
    //! コンピュータ名をディレクトリツリーのルートに登録する.
    var root = AddRootNode();

    //! ディレクトリツリーにドライブ名を登録する.
    AddDriveName( root );

    //! ルートノードを展開して表示する.
    root.Expand();
}
	

VB ソースコード [FileTreeView.vb]


'' -----------------------------------------------------------------------
''' <summary>
''' ディレクトリツリーの初期処理.
''' </summary>
Private Sub FileView_Init()

    ' マシン名をディレクトリツリーのルートに登録する.
    Dim root As TreeNode = AddRootNode()

    ' ディレクトリツリーにドライブ名を登録する.
    AddDriveName( root )

    ' ルートノードを展開して表示する.
    root.Expand()

End Sub
	

最初にルートノードにコンピュータ名を登録します。

次にルートノードの子ノードとしてドライブ名のリストを登録します。

最後にルートノードを展開表示します。

ファイル一覧表示ビューを初期化する

C# ソースコード [FileTreeView.cs]


// -----------------------------------------------------------------------
/// <summary>
/// ファイル一覧のビューを初期化する.
/// </summary>
private void FileList_Init()
{
    //! ファイル一覧にカラムを追加する.
    FileList.Columns.Add( "ファイル名", 200, HorizontalAlignment.Left  );
    FileList.Columns.Add( "サイズ"    , 120, HorizontalAlignment.Right );
    FileList.Columns.Add( "更新日時"  , 150, HorizontalAlignment.Left  );

    //! ファイル一覧にドライブ名を表示する.
    ShowDriveName();
}
	

VB ソースコード [FileTreeView.vb]


'' -----------------------------------------------------------------------
''' <summary>
''' ファイル一覧のビューを初期化する.
''' </summary>
Private Sub FileList_Init()

    ' ファイル一覧にカラムを追加する.
    FileList.Columns.Add( "ファイル名", 200, HorizontalAlignment.Left  )
    FileList.Columns.Add( "サイズ"    , 120, HorizontalAlignment.Right )
    FileList.Columns.Add( "更新日時"  , 150, HorizontalAlignment.Left  )

    ' ファイル一覧にドライブ名を表示する.
    ShowDriveName()

End Sub
	

リストビューのカラムを設定します。

カラム位置カラム名表示位置カラムの幅
1ファイル名左詰め200
2サイズ右詰め120
3更新日時左詰め150


最後にファイル一覧にドライブ名のリストを初期データとして表示します。

ファイルデータ表示ビューを初期化する

C# ソースコード [FileDataView.cs]


// -----------------------------------------------------------------------
/// <summary>
/// ファイルデータ表示ビューを初期化する.
/// </summary>
private void FileData_Init()
{
    //! 垂直スクロールバーを初期化する.
    FileDataVScroll.Value   = 0;
    FileDataVScroll.Minimum = 0;
    FileDataVScroll.Maximum = 0;

    //! 水平スクロールバーを初期化する.
    FileDataHScroll.Value   = 0;
    FileDataHScroll.Minimum = 0;
    FileDataHScroll.Maximum = 80;

    //! ホイールイベントの追加.
    FileData.MouseWheel += new System.Windows.Forms.MouseEventHandler( FileData_MouseWheel );
}
	

VB ソースコード [FileDataView.vb]


'' -----------------------------------------------------------------------
''' <summary>
''' バイナリ表示画面のビューを初期化する.
''' </summary>
Private Sub FileData_Init()

    ' 垂直スクロールバーを初期化する.
    FileDataVScroll.Value   = 0
    FileDataVScroll.Minimum = 0
    FileDataVScroll.Maximum = 0

    ' 水平スクロールバーを初期化する.
    FileDataHScroll.Value   = 0
    FileDataHScroll.Minimum = 0
    FileDataHScroll.Maximum = 80

    ' ホイールイベントの追加.
    AddHandler FileData.MouseWheel, New System.Windows.Forms.MouseEventHandler( AddressOf FileData_MouseWheel )

End Sub
	

垂直スクロールバーを初期化します。

水平スクロールバーを初期化します。

ホイールマウスのイベントを追加します。



商標に関する表示