GrapeCity Secure FTP for .NET 4.0J > 基本的な使用方法 > コンポーネントの使用手順 > イベント処理を実装する |
ここでは、本製品のイベントに処理を実装する手順について説明します。以下の例では、Ftpコンポーネントがデータを送受信したときに発生するConnection.Logイベントを使用します。
「フォームに貼り付けて使用する」で作成したプロジェクトを利用して、イベント処理の実装手順を説明します。
続きを読む
Visual Studio上で、Form1のデザイン画面を表示します。
コンポーネントトレイに表示されている「Ftp1」([Visual C#]の場合は「ftp1」)を選択すると、プロパティウィンドウ上に「Ftp1」のプロパティが表示されます。
プロパティウィンドウ上の[イベント]アイコン(稲妻のアイコン)をクリックすると、利用できるイベントが表示されます。
プロパティウィンドウ上で[Connection]の下の[Log]イベントをダブルクリックすると、Connection.Logイベントのイベントハンドラがコードに追加されます。
追加されたConnection.Logイベントのイベントハンドラに、実行する処理のコードを記述します。以下の例では、サーバーとFTPコンポーネントとの間で送受信されたコマンドを出力するコードを記述しています。
Visual Basic |
コードのコピー |
---|---|
Private Sub Ftp1_Connection_Log(sender As System.Object, e As Dart.Ftp.DataEventArgs) Handles Ftp1.Connection.Log ' 送受信したコマンドのログを出力します。 System.Diagnostics.Debug.WriteLine(e.Data.ToString()) End Sub |
C# |
コードのコピー |
---|---|
private void ftp1_Connection_Log(object sender, Dart.Ftp.DataEventArgs e) { // 送受信したコマンドのログを出力します。 System.Diagnostics.Debug.WriteLine(e.Data.ToString()); } |
[デバッグ]メニューの[デバッグ開始]を選択すると、アプリケーションがビルドされ、実行されます。
フォーム上のボタンをクリックすると、イミディエイトウィンドウにFTPコンポーネントが送受信したコマンドのログが出力された後、FTPサーバーのカレントディレクトリがメッセージボックスに表示されます。
「参照設定に追加して使用する」で作成したプロジェクトを利用して、イベント処理の実装手順を説明します。
続きを読む
Visual Studio上で、Form1のコード画面を表示します。
Visual Basicの場合、Ftpコンポーネントのインスタンスを生成するコードに、WithEventsキーワードを追加します。
C#の場合、Form1クラスのコンストラクタに、Connection.Logイベントのイベントハンドラを追加するコードを記述します。
Visual Basic |
コードのコピー |
---|---|
' Ftpコンポーネントのインスタンスを生成します。 Dim WithEvents Ftp1 As New Dart.Ftp.Ftp() |
C# |
コードのコピー |
---|---|
public Form1() { InitializeComponent(); // Connection.Logイベントのイベントハンドラを追加します。 this.ftp1.Connection.Log += new System.EventHandler<Dart.Ftp.DataEventArgs>(this.ftp1_Connection_Log); } |
Form1クラスに、Connection.Logイベントのイベントハンドラのコードを記述します。以下の例では、サーバーとFTPコンポーネントとの間で送受信されたコマンドを出力するコードを記述しています。
Form1クラスのコードは、最終的に以下のようになります。
Visual Basic |
コードのコピー |
---|---|
Public Class Form1 ' Ftpコンポーネントのインスタンスを生成します。 Dim WithEvents Ftp1 As New Dart.Ftp.Ftp() Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click ' 接続するFTPサーバー名、ユーザー名、パスワードを設定します。 Ftp1.Session.RemoteEndPoint.HostNameOrAddress = "MyFtpServer" Ftp1.Session.Username = "myUsername" Ftp1.Session.Password = "myPassword" Dim dir As String Try ' FTPサーバーに接続し、ログインします。 Ftp1.Connect() Ftp1.Authenticate() ' カレントディレクトリを返すGetDirectoryメソッドを実行します。 dir = Ftp1.GetDirectory() Catch MessageBox.Show("Error") Exit Sub End Try ' メッセージボックスにカレントディレクトリを表示します。 MessageBox.Show(dir) ' FTPサーバーとの接続を閉じます。 Ftp1.Close() End Sub Private Sub Ftp1_Connection_Log(sender As System.Object, e As Dart.Ftp.DataEventArgs) Handles Ftp1.Connection.Log ' 送受信したコマンドのログを出力します。 System.Diagnostics.Debug.WriteLine(e.Data.ToString()) End Sub End Class |
C# |
コードのコピー |
---|---|
public partial class Form1 : Form { // Ftpコンポーネントのインスタンスを生成します。 Dart.Ftp.Ftp ftp1 = new Dart.Ftp.Ftp(); public Form1() { InitializeComponent(); // Connection.Logイベントのイベントハンドラを追加します。 this.ftp1.Connection.Log += new System.EventHandler<Dart.Ftp.DataEventArgs>(this.ftp1_Connection_Log); } private void button1_Click(object sender, EventArgs e) { // 接続するFTPサーバー名、ユーザー名、パスワードを設定します。 ftp1.Session.RemoteEndPoint.HostNameOrAddress = "myFtpServer"; ftp1.Session.Username = "myUsername"; ftp1.Session.Password = "myPassword"; string dir; try { // FTPサーバーに接続し、ログインします。 ftp1.Connect(); ftp1.Authenticate(); // カレントディレクトリを返すGetDirectoryメソッドを実行します。 dir = ftp1.GetDirectory(); } catch { MessageBox.Show("Error"); return; } // メッセージボックスにカレントディレクトリを表示します。 MessageBox.Show(dir); // FTPサーバーとの接続を閉じます。 ftp1.Close(); } private void ftp1_Connection_Log(object sender, Dart.Ftp.DataEventArgs e) { // 送受信したコマンドのログを出力します。 System.Diagnostics.Debug.WriteLine(e.Data.ToString()); } } |
[デバッグ]メニューの[デバッグ開始]を選択すると、アプリケーションがビルドされ、実行されます。
フォーム上のボタンをクリックすると、イミディエイトウィンドウにFTPコンポーネントが送受信したコマンドのログが出力された後、FTPサーバーのカレントディレクトリがメッセージボックスに表示されます。