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

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

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

Re[2]: フォームの同時起動防止


(過去ログ 125 を表示中)

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

■74301 / inTopicNo.1)  フォームの同時起動防止
  
□投稿者/ hal (1回)-(2014/12/17(Wed) 00:40:06)

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

初めまして。最近VBを始めて、Azukiでテキストエディタを作っているものです。


普通に「Show」メソッドを使うと、そのたびにフォームが起動してしまいますが、どうにか1つだけ開くようにはなりませんか?
自分なりに調べてはみたんですが、作っているものの性質上モーダルにはできませんし、
「ttp://dobon.net/vb/dotnet/form/singleform.html」のURLのページにある方法も試してみたんですが、
「既に表示されているフォームをモーダル ダイアログ ボックスとして表示できません。Show を呼び出す前に、フォームの Visible プロパティを false にしてください。」
というエラーを吐かれてしまいました。
なにとぞご教授のほどをよろしくお願いいたします。
引用返信 編集キー/
■74304 / inTopicNo.2)  Re[1]: フォームの同時起動防止
□投稿者/ Azulean (384回)-(2014/12/17(Wed) 07:17:12)
2014/12/17(Wed) 07:20:04 編集(投稿者)
No74301 (hal さん) に返信
> 普通に「Show」メソッドを使うと、そのたびにフォームが起動してしまいますが、どうにか1つだけ開くようにはなりませんか?

そのようにあなたが作り込む必要があります。
多くのケースでは、すでにフォームを表示している状態などをメンバー変数で記憶することになるでしょう。

例
Private formInstance As Form2
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    If (formInstance Is Nothing OrElse formInstance.IsDisposed) Then
        formInstance = New Form2()
        formInstance.Show()
    Else
        formInstance.BringToFront()
    End If
End Sub

引用返信 編集キー/
■74309 / inTopicNo.3)  Re[2]: フォームの同時起動防止
□投稿者/ hal (2回)-(2014/12/17(Wed) 12:26:39)
ありがとうございます!
無事解決しました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -