2009-05-06 8 views
0

私はsliverlight 2.0でopenFileDialogを使用しています。バックエンドでvb.netを使用しています。私はそれを有線にして、クリックイベントが2回発射されるように思われるので、それは動作しています。最初に起動し、ファイルを選択して[OK]をクリックします。処理を行います。しかし、すぐにokをクリックすると、クリックイベントが2回発生し、ダイアログボックスが再び表示されます。それは私が欲しいものではなく、私は何が間違っていて、それが2度目になるのか分からない。ここにコードです..うまくいけば、誰かが私が間違ってやっているのを参照してください。silverlight OpenFileDialogがもう一度開きます

<Button x:Name="bOpenFileDialog" Content="2. Import CSV" 
      Height="30" Width="200" Margin="0,96,0,0" 
      HorizontalAlignment="Left" VerticalAlignment="Top" 
      Click="bOpenFileDialog_Click" /> 
    <TextBlock Height="19" Margin="246,26,261,0" VerticalAlignment="Top" Text="TextBlock" TextWrapping="Wrap" x:Name="lblMsg"/> 

Private Sub bOpenFileDialog_Click(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles bOpenFileDialog.Click 
    Me.bOpenFileDialog.IsEnabled = False 
    ' Create an instance of the open file dialog box. 
    Dim openFileDialog1 As OpenFileDialog = New OpenFileDialog 


    ' Set filter options and filter index. 
    openFileDialog1.Filter = "LOG Files (*.log)|*.log|All Files (*.*)|*.*" 
    openFileDialog1.FilterIndex = 1 

    openFileDialog1.Multiselect = True 

    ' Call the ShowDialog method to show the dialogbox. 
    Dim UserClickedOK As Boolean = CBool(openFileDialog1.ShowDialog) 

    ' Process input if the user clicked OK. 
    If (UserClickedOK = True) Then 
     Dim rows As Integer = openFileDialog1.Files.Count - 1 
     ReDim aryIISLogs(rows) 

     For i As Integer = 0 To openFileDialog1.Files.Count - 1 
      aryIISLogs(i) = openFileDialog1.Files(i).Name 
     Next 
     Process1File() 
    End If 
End Sub 

おかげ シャノン

答えて

0

私はあなたが二回イベントを登録しているため、これがあると思う:あなたは、ボタンの定義でそれを持っている:

Click="bOpenFileDialog_Click" 

とメソッド定義で:

Private Sub bOpenFileDialog_Click(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles bOpenFileDialog.Click 

これらはそれぞれイベントをトリガーします。そのため、2つのポップアップが表示されます。 「クリック=」または「ハンドル」のいずれかを削除すると、イベントは1回だけ発生します。

関連する問題