tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルFormにDrag&Drop時の他フォーム呼び出しについて
記事No2112
投稿日: 2005/09/12(Mon) 16:53
投稿者ageha
[OSのVer]:Windows    [VBのVer]:VB.NET 
御疲れ様です。
またご教授願いたく参りました。
今回はForm1にファイルをDrag&Dropして、ドロップされたらForm2を開くという
流れのプログラミングを作成中なのですが、Form2が描画されてから、Form2をDrag&Dropして位置
を動かした
りしますと、残像が残ります。またその後の処理が全て終わるまで、Form2が消えません。
下記に簡単では抜粋致しましたので、どなたか御教授願います。

Public Class Form1
    Inherits System.Windows.Forms.Form
                     .
                     .
                     .
     Private Sub Form1_DragDrop(ByVal sender As Object, ByVal e As                    
System.Windows.Forms.DragEventArgs) Handles MyBase.DragDrop

        Dim Fstr() As String = e.Data.GetData(DataFormats.FileDrop, True)
        Dim AddFiles As String

        '圧縮の詳細設定の呼び出し
        f6 = New D_Property
        f6.ShowDialog()
                        .
                        .
                        .
end Class

Public Class D_Property
    Inherits System.Windows.Forms.Form
                        .
                        .
                        .
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click

        If ComboBox1.Text = "" And ComboBox2.Text = "" Then
            MsgBox("圧縮形式と圧縮率を指定して下さい。")
        ElseIf ComboBox1.Text = "" Then
            MsgBox("圧縮形式を指定して下さい。")
        ElseIf ComboBox2.Text = "" Then
            MsgBox("圧縮率を指定して下さい。")
        Else
            ZipTypeNo = ComboBox1.SelectedIndex
            ZipOptNo = ComboBox2.SelectedIndex
            Me.Close()
        End If

    End Sub
end class
この後に圧縮処理が続く

[ツリー表示へ]
タイトルRe: FormにDrag&Drop時の他フォーム呼び出しについて
記事No2113
投稿日: 2005/09/12(Mon) 17:27
投稿者じゃんぬねっと
参照先http://jeanne.wankuma.com/
こんにちは、じゃんぬ です。

> Form2が描画されてから、Form2をDrag&Dropして位置を動かしたりしますと、残像が残ります。

Form2 を Drag & Drop?

> またその後の処理が全て終わるまで、Form2が消えません。

それは ShowDialog で表示しているからです。
表示した Form2 の "インスタンス" で Close してくださいね。

[ツリー表示へ]
タイトルRe^2: FormにDrag&Drop時の他フォーム呼び出しについて
記事No2119
投稿日: 2005/09/13(Tue) 09:25
投稿者ageha
[OSのVer]:Windows    [VBのVer]:VB.NET  
おはようございます。
ご返信ありがとうございます。
>Form2 を Drag & Drop?

日本語が間違っておりました!
Form2をDragして移動するの間違いです。

>それは ShowDialog で表示しているからです。
表示した Form2 の "インスタンス" で Close してくださいね。

プログラムの流れ的に、Form1にファイルをDrag&Dropしてその時に表示されたForm2
で圧縮形式、圧縮率を決めForm2閉じる。
Form2が閉じてからForm1にコントロールを戻して、圧縮処理開始という流れなので、
ShowDialogでないと表示されるだけで、設定ができず、圧縮処理にいってしまうのです。
何か良い方法はないでしょうか?
Form2で圧縮処理行えばよいかとは思いますが、できれば今後の勉強のためForm1で行いたいです。

[ツリー表示へ]