tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルFORMの起動
記事No346
投稿日: 2003/08/07(Thu) 15:13
投稿者高橋
[OSのVer]:WindowsXP    [VBのVer]:VB.NET

メニューFORMを作成して、メニューから複数のFORMを起動したいと思っています。
VB6の時は、
 Form1.Showで起動し、Form1を閉じない状態で再びメニューから
 Form1.Showを行うと、Form1が前面に表示されていました。
VB.netでは
 Dim NewForm As New Form1()
  NewForm.Show()
  以上のように行っているため、複数Form1が開かれてしまいます。
 実際には、既に開かれていた場合は、前面に表示したいと思っています。

わかりづらい説明及び、初心者で申し訳ありませんが
何方かわかる方が見えましたら教えていただけないでしょうか?


  

[ツリー表示へ]
タイトルRe: FORMの起動
記事No347
投稿日: 2003/08/07(Thu) 15:44
投稿者うぉる
1回目の実行で
>Dim NewForm As New Form1()
>NewForm.Show()
のNewFormがForm1のインスタンスを参照しますよね。
で、現在のプログラムでは恐らくEnd Subで変数が開放されているはずです。

よって、End Subで変数が開放されないように変更し、Newする際にはまずNewFormに
参照があるかどうかをチェックし、参照が無ければNewを行い、参照があれば
Activateメソッドを実行すると言う風に実装すれば良いですよ。

[ツリー表示へ]
タイトルRe^2: FORMの起動
記事No350
投稿日: 2003/08/07(Thu) 23:51
投稿者高橋
[OSのVer]:Windows    [VBのVer]:VB.NET  
> 1回目の実行で
> >Dim NewForm As New Form1()
> >NewForm.Show()
> のNewFormがForm1のインスタンスを参照しますよね。
> で、現在のプログラムでは恐らくEnd Subで変数が開放されているはずでいます。
>
> よって、End Subで変数が開放されないように変更し、Newする際にはまずNewFormに
> 参照があるかどうかをチェックし、参照が無ければNewを行い、参照があれば
> Activateメソッドを実行すると言う風に実装すれば良いですよ。

うぉるさん ありがとうございます。
変数が開放されないようにするのは、分かるのですが
参照があるかどうかのチェックの方法がよく分かりません。
何から何までの質問で申し訳ありませんが
教えて頂けないでしょうか
宜しくお願い致します。

[ツリー表示へ]
タイトルRe^3: FORMの起動
記事No353
投稿日: 2003/08/08(Fri) 11:34
投稿者よねKEN
参照先http://www5b.biglobe.ne.jp/~yone-ken/
> 参照があるかどうかのチェックの方法がよく分かりません。

If Not 参照があるかどうかチェックしたい変数 Is Nothing Then
   '参照がある
End If

でチェックできます。

[ツリー表示へ]
タイトルRe^4: FORMの起動
記事No355
投稿日: 2003/08/08(Fri) 13:10
投稿者高橋
[OSのVer]:Windows    [VBのVer]:VB.NET  
> > 参照があるかどうかのチェックの方法がよく分かりません。
>
> If Not 参照があるかどうかチェックしたい変数 Is Nothing Then
>    '参照がある
> End If
>
> でチェックできます。

よねKENさん ありがとうございます。
うまくできました。

うぉるさん よねKENさん本当にありがとうございました。

[ツリー表示へ]