C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[21]: VB2008 form2のみ閉じる方法


(過去ログ 79 を表示中)

[トピック内 31 記事 (1 - 20 表示)]  << 0 | 1 >>

■46430 / inTopicNo.1)  VB2008 form2のみ閉じる方法
  
□投稿者/ いむら (1回)-(2010/02/02(Tue) 21:19:12)

分類:[VB.NET/VB2005 以降] 

VB2008を使用しています。
form1上のbutton1を押すとform2がモードレスフォームとして出て、form1上のbutton2を押すとform2が閉じるというプログラムを組みたいのですが、どのようにしたらよろしいでしょうか?
お手数おかけしますが、宜しくお願い致します。
引用返信 編集キー/
■46433 / inTopicNo.2)  Re[1]: VB2008 form2のみ閉じる方法
□投稿者/ επιστημη (2434回)-(2010/02/02(Tue) 23:30:52)
επιστημη さんの Web サイト
> form1上のbutton1を押すとform2がモードレスフォームとして出て、form1上のbutton2を押すとform2が閉じるというプログラムを組みたいのですが、どのようにしたらよろしいでしょうか?

どのようにしたらもなにも、form2.Close()ちゃいますの?

引用返信 編集キー/
■46434 / inTopicNo.3)  Re[2]: VB2008 form2のみ閉じる方法
□投稿者/ やじゅ (1500回)-(2010/02/02(Tue) 23:40:22)
やじゅ さんの Web サイト
No46433 (επιστημη さん) に返信
>>form1上のbutton1を押すとform2がモードレスフォームとして出て、form1上のbutton2を押すとform2が閉じるというプログラムを組みたいのですが、どのようにしたらよろしいでしょうか?
>
> どのようにしたらもなにも、form2.Close()ちゃいますの?

きっと、メンバ変数が理解できてないんだと思います。
フォームもクラスの一つですよ。

意図しているのと違うけど、近いのは↓ 参考にしてみるといいです。
http://homepage1.nifty.com/MADIA/vb/vb_bbs2/200306/200306_03060024.html
引用返信 編集キー/
■46454 / inTopicNo.4)  Re[2]: VB2008 form2のみ閉じる方法
□投稿者/ いむら (2回)-(2010/02/03(Wed) 11:13:08)
No46433 (επιστημη さん) に返信
>>form1上のbutton1を押すとform2がモードレスフォームとして出て、form1上のbutton2を押すとform2が閉じるというプログラムを組みたいのですが、どのようにしたらよろしいでしょうか?
>
> どのようにしたらもなにも、form2.Close()ちゃいますの?
>


button1のところにform2.Close()と記しても閉じなかったんです。。。

引用返信 編集キー/
■46456 / inTopicNo.5)  Re[3]: VB2008 form2のみ閉じる方法
□投稿者/ いむら (3回)-(2010/02/03(Wed) 11:16:39)
No46434 (やじゅ さん) に返信
> ■No46433 (επιστημη さん) に返信
> >>form1上のbutton1を押すとform2がモードレスフォームとして出て、form1上のbutton2を押すとform2が閉じるというプログラムを組みたいのですが、どのようにしたらよろしいでしょうか?
>>
>>どのようにしたらもなにも、form2.Close()ちゃいますの?
>
> きっと、メンバ変数が理解できてないんだと思います。
> フォームもクラスの一つですよ。
>
> 意図しているのと違うけど、近いのは↓ 参考にしてみるといいです。
> http://homepage1.nifty.com/MADIA/vb/vb_bbs2/200306/200306_03060024.html


ありがとうございます。
自分初心者なのでまったく見当違いの質問ばかりしてしまうのですが・・・。
この中での
Private objForm As Form2とはどこの欄に記すればいいですか?
この時のobjFormは変数として理解すればよろしいでしょうか?
たびたび申し訳ありません。
引用返信 編集キー/
■46460 / inTopicNo.6)  Re[3]: VB2008 form2のみ閉じる方法
□投稿者/ επιστημη (2437回)-(2010/02/03(Wed) 11:37:57)
επιστημη さんの Web サイト
↓こんなんでいっすか?

Public Class Form1

    ' Form1にはdasとkesの二つのボタンを置いてます

    Private secondForm As Form2 ' メンバ変数として用意

    Private Sub Dasel() ' 出せるようにする
        das.Enabled = True
        kes.Enabled = False
    End Sub

    Private Sub Kesel() ' 消せるようにする
        das.Enabled = False
        kes.Enabled = True
    End Sub

    ' Form1ロード時
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        secondForm = New Form2() ' Form2を用意して
        Dasel() ' 出せるようにする
    End Sub

    ' 出すボタンが押された
    Private Sub das_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles das.Click
        secondForm.Show() ' 出して
        Kesel() ' 消せるようにする
    End Sub

    ' 消すボタンが押された
    Private Sub kes_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kes.Click
        secondForm.Hide() ' 消して
        Dasel() ' 出せるようにする
    End Sub
End Class

引用返信 編集キー/
■46461 / inTopicNo.7)  Re[3]: VB2008 form2のみ閉じる方法
□投稿者/ 囚人 (475回)-(2010/02/03(Wed) 11:38:59)
form2 を表示しているコードと閉じているコードをここに貼ってみてはどうでしょう。
きっと、何かを勘違いされているだけでしょう。
引用返信 編集キー/
■46462 / inTopicNo.8)  Re[4]: VB2008 form2のみ閉じる方法
□投稿者/ επιστημη (2438回)-(2010/02/03(Wed) 11:52:29)
επιστημη さんの Web サイト
2010/02/03(Wed) 11:55:22 編集(投稿者)

ちょびっと補足。

> ↓こんなんでいっすか?

このコード、ユーザがForm2の×ボタンで消すと出せなくなっちゃうです。
Form2が消えたのを検出してDasel()を呼んであげてください。

...てか、×ボタンで消すとHide()じゃなくClose()されてForm2がなくなります。
なのでそんときゃNewし直しですかね。

# さもなくば×無効にするか(薦めないけど)。
引用返信 編集キー/
■46517 / inTopicNo.9)  Re[5]: VB2008 form2のみ閉じる方法
□投稿者/ いむら (4回)-(2010/02/04(Thu) 14:04:29)
みなさん本当にありがとうございます。
私は我流で始めてしまったため基礎等あたりまえのことがよくわかっておりません。
囚人さんからの声のように、コードをここに貼ってみようと思います。



Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Form2クラスのインスタンスを作成する
Dim f As New frm2()
'Form2を表示する
'モードレスフォームとして表示する
f.Show()

End Sub

上記のようにButton1をおすとForm2が表示されます





Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click



End Sub

上記のようにButton3をおすとForm2を閉じるようにしたいのですが、ここに何を書いたらうまくいくかがわかりません。
お手数おかけしますが、アドバイスの程、宜しくお願い致します。
引用返信 編集キー/
■46519 / inTopicNo.10)  Re[6]: VB2008 form2のみ閉じる方法
□投稿者/ επιστημη (2439回)-(2010/02/04(Thu) 14:52:50)
επιστημη さんの Web サイト
Private f As frm2 ' インスタンス・メンバに昇格すればいいのよ♪

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  'Form2クラスのインスタンスを作成する
  f = New frm2()
  'Form2を表示する
  'モードレスフォームとして表示する
  f.Show()
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
  ' フォームを閉じる
  f.Close()
End Sub

引用返信 編集キー/
■46522 / inTopicNo.11)  Re[7]: VB2008 form2のみ閉じる方法
□投稿者/ man (2回)-(2010/02/04(Thu) 16:12:49)
No46519 (επιστημη さん) に返信
> Private f As frm2 ' インスタンス・メンバに昇格すればいいのよ♪
>
> Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
> 'Form2クラスのインスタンスを作成する
> f = New frm2()
> 'Form2を表示する
> 'モードレスフォームとして表示する
> f.Show()
> End Sub
>
> Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
> ' フォームを閉じる
> f.Close()
> End Sub


できました!!!!!!!!!!!!!!!!!!!!!
初心者ゆえ、悩んでいたことができ、すごい感動です。
本当にありがとうございました!!!
>
解決済み
引用返信 編集キー/
■46526 / inTopicNo.12)  Re[8]: VB2008 form2のみ閉じる方法
□投稿者/ επιστημη (2440回)-(2010/02/04(Thu) 16:29:14)
επιστημη さんの Web サイト
No46522 (man さん) に返信

お役に立ててなにより。
で、あなたダレ?

解決済み
引用返信 編集キー/
■46527 / inTopicNo.13)  Re[9]: VB2008 form2のみ閉じる方法
□投稿者/ man (5回)-(2010/02/04(Thu) 16:53:09)
No46526 (επιστημη さん) に返信
> ■No46522 (man さん) に返信
>
> お役に立ててなにより。
> で、あなたダレ?
>
すみません、先ほどのいむらです。
別PCからコメントしたため、名前設定を忘れていました。
引用返信 編集キー/
■46528 / inTopicNo.14)  Re[10]: VB2008 form2のみ閉じる方法
□投稿者/ επιστημη (2441回)-(2010/02/04(Thu) 17:17:38)
επιστημη さんの Web サイト
From2の×ボタンで閉じたときヘンなことが起こるかもしれんので注意。
# No46462 あたり参照。

解決済み
引用返信 編集キー/
■46530 / inTopicNo.15)  Re[11]: VB2008 form2のみ閉じる方法
□投稿者/ いむら (5回)-(2010/02/04(Thu) 17:27:44)
No46528 (επιστημη さん) に返信
> From2の×ボタンで閉じたときヘンなことが起こるかもしれんので注意。
> # No46462 あたり参照。
>

今チェックをし、大丈夫でした。
本当にありがとうございました。
解決済み
引用返信 編集キー/
■46555 / inTopicNo.16)  Re[12]: VB2008 form2のみ閉じる方法
□投稿者/ いむら (6回)-(2010/02/05(Fri) 15:43:15)
すみません、エラーを発見してしまいました。
Button1でForm2を一度開いた後に、Xボタンで消したり・そのままの状態でButton3を押したら正常に作動するのですが、
一度もButton1を押さずに(一度もForm2を開かずに)Button3を押すとエラーになってしまいました。
おそらく、Ifステートメントで「もしForm2が開いていればButton3を押したときForm2を閉じる。」とすればいいと思うのですが、この構文の書き方がわかりません。
下記は今の状態です。
どなたかアドバイスお願い致します。

Private f As frm2

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
f = New frm2()
f.Show()
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
f.Close()
End Sub
引用返信 編集キー/
■46556 / inTopicNo.17)  Re[13]: VB2008 form2のみ閉じる方法
□投稿者/ すがり (93回)-(2010/02/05(Fri) 15:52:54)
No46555 (いむら さん) に返信
> すみません、エラーを発見してしまいました。

多分スレ主さんに気づいてもらいたくて意図的に残してあるんだと思いますよ。
(丸投げ回答はしない、ってことかと)
引用返信 編集キー/
■46557 / inTopicNo.18)  Re[13]: VB2008 form2のみ閉じる方法
□投稿者/ επιστημη (2443回)-(2010/02/05(Fri) 16:01:34)
επιστημη さんの Web サイト
> 意図的に残してあるんだと思いますよ

ええ。まあ。
「今チェックをし、大丈夫でした。」ホントカヨーて思ってました。

> おそらく、Ifステートメントで「もしForm2が開いていればButton3を押したときForm2を閉じる。」とすればいいと思うのですが、

「Form2が開いていない限りButton3が押せない」よにしてはいかがかと。
# No46460 をちょびっといぢくればできんじゃないかなーと。

引用返信 編集キー/
■46558 / inTopicNo.19)  Re[14]: VB2008 form2のみ閉じる方法
□投稿者/ いむら (7回)-(2010/02/05(Fri) 16:02:57)
No46556 (すがり さん) に返信
> ■No46555 (いむら さん) に返信
>>すみません、エラーを発見してしまいました。
>
> 多分スレ主さんに気づいてもらいたくて意図的に残してあるんだと思いますよ。
> (丸投げ回答はしない、ってことかと)

確かに教えて教えて・・・と、ねだってばかりだったかもしれません。
すみませんでした。
引用返信 編集キー/
■46559 / inTopicNo.20)  Re[14]: VB2008 form2のみ閉じる方法
 
□投稿者/ いむら (8回)-(2010/02/05(Fri) 16:06:26)
No46557 (επιστημη さん) に返信
>>意図的に残してあるんだと思いますよ
>
> ええ。まあ。
> 「今チェックをし、大丈夫でした。」ホントカヨーて思ってました。
>
>>おそらく、Ifステートメントで「もしForm2が開いていればButton3を押したときForm2を閉じる。」とすればいいと思うのですが、
>
> 「Form2が開いていない限りButton3が押せない」よにしてはいかがかと。
> # No46460 をちょびっといぢくればできんじゃないかなーと。
>

せっかく教えていただいたのに、確実な答えをしていなくてすみませんでした。
Button3には他の機能もつけているため、押せなくすることができないんです。
他の手を考えてみます。
本当にすみませんでした。
引用返信 編集キー/

次の20件>
トピック内ページ移動 / << 0 | 1 >>

管理者用

- Child Tree -