GUIのデザイン
フォームにFtpコントロールを配置します。ただし、このコントロールはプロセスを提供するコントロールなので、ユーザーインターフェースは持ちません。フォームのデザインでは、SplitPanelコントロールを配置してその上にボタン、ラベル、テキストボックス、リストボックスを配置しています。
SplitPanelコントロールは、OrientationプロパティをHorizontalに変更し、DockプロパティをFillにします。ListBoxコントロールも、DockプロパティをFillにします。
Ftpコントロールは、次のプロパティを使ってログインセッションを作成します。
プロパティ | 設定値 |
---|---|
Server | FTPサーバのアドレス |
Username | ログインユーザー名 |
Password | ログインパスワード |
このプログラムでは、これらの入力をTextBoxコントロールで行うようにします。また、フォームの下部にはStatusStripコントロールを配置し、StatusLabelを配置します。
![GUI画面](http://cz-cdn.shoeisha.jp/static/images/article/3974/04.gif)
Ftpコントロールについて
Secure FTPは、.NET Frameworkのために設計された通信コンポーネントで、FTPサーバへのファイル送受信を容易に実現する強力なツールです。Windowsアプリケーション、Webアプリケーションの両方で使用でき、以下のようなことが行えます。
- ログイン処理をハンドリングし、FTPサーバとユーザー名、パスワードを指定するだけで、サーバとの通信を必要とするメソッドが実行され、自動的にログインを行います。ユーザーが接続を閉じるか、Ftpコンポーネントが無効になるまで、FTPサーバへのログインを維持します。
- メソッドを実行するだけで、同期・非同期で単一ファイルや複数ファイルの送受信を可能にします。また、ストリームをリモートファイルに保存したり、アプリケーション内で利用するストリームとして、リモートファイルを取得できます。
- データ接続を完全に制御でき、データ接続からの読み込みとデータ接続への書き込みができます。
- ユーザー定義を含むあらゆるコマンドを送信できます。
- FtpProxyオブジェクトを使った完全なProxyサポートが組み込まれており、プロパティを設定すれば、Proxyの利用は自動的に処理されます。さらに、使用しているFTPサーバが独自のログインシーケンスを必要とする場合、 Ftpコンポーネントは、ログインに必要なコマンドの送信を行い、FTP サーバとの接続を可能にします。
今回は、このFtpコントロールを使って、FTPサーバからファイルリストの一覧を同期取得するプログラムを作成します。