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

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

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

フォームのコントロールについて


(過去ログ 7 を表示中)

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

■7749 / inTopicNo.1)  フォームのコントロールについて
  
□投稿者/ すー 二等兵(1回)-(2006/10/25(Wed) 10:41:12)

分類:[VB.NET] 


分類:[VB.NET] 

はじめまして、すーと申します。
VB2003のフォームのコントロールついて教えてください。
Sub Mainを持つクラスだけのExeを作り、実際の機能画面はサブシステム単位でDLL化しています。
たとえば、メニュー画面からフォームA、フォームBを表示(Show)し、フォームAでダイアログを表示(ShowDialog)した場合、メニュー画面、フォームBで操作ができなくなってしまいます。
操作可能にするにはどのようにすればいいのでしょうか?
ダイアログを呼び出したフォームのみをロックしたいです。
よろしくお願いします。

0
引用返信 編集キー/
■7750 / inTopicNo.2)  Re[1]: フォームのコントロールについて
□投稿者/ 魔界の仮面弁士 少佐(194回)-(2006/10/25(Wed) 11:11:34)

分類:[VB.NET] 

No7749に返信(すーさんの記事)
> たとえば、メニュー画面からフォームA、フォームBを表示(Show)し、フォームAでダイアログを表示(ShowDialog)した場合、メニュー画面、フォームBで操作ができなくなってしまいます。

ShowDialogは、フォームをモーダル(Modal)で表示しますので、
「そのフォームしか触れないモード」として実行されます。

フォームをモードレス(Modeless)で表示したいのであれば、
ShowDialog の代わりに、Show メソッドを使ってみてください。

> ダイアログを呼び出したフォームのみをロックしたいです。
モードレスで表示する際に、呼び出したフォームの Enabled を操作しましょう。
あとは子フォームが閉じられたときに、Enabled を True に戻せば OK かな?

0
引用返信 編集キー/
■7770 / inTopicNo.3)  Re[2]: フォームのコントロールについて
□投稿者/ すー 二等兵(2回)-(2006/10/25(Wed) 21:30:41)

分類:[VB.NET] 

魔界の仮面弁士さま

レスありがとうございます。
私もモードレス表示を考えたのですが、モーダレスだとダイアログの結果から処理を分岐することできなくて、暗礁に乗り上げました。
結果を返してくれて、続くコードはフォームが閉じるまで実行しないメソッドがあれば理想的なんですが・・・
ご存知の方いらっしゃいませんか?

0
引用返信 編集キー/
■7771 / inTopicNo.4)  Re[3]: フォームのコントロールについて
□投稿者/ ダッチ 軍曹(62回)-(2006/10/25(Wed) 22:09:11)

分類:[VB.NET] 

No7770に返信(すーさんの記事)
> 魔界の仮面弁士さま
>
> レスありがとうございます。
> 私もモードレス表示を考えたのですが、モーダレスだとダイアログの結果から処理を分岐することできなくて、暗礁に乗り上げました。
> 結果を返してくれて、続くコードはフォームが閉じるまで実行しないメソッドがあれば理想的なんですが・・・
> ご存知の方いらっしゃいませんか?

フォームを閉じるときに「これから閉じます」イベントなど作成して発生させてみてはどうでしょうか。

あとはダイアログの結果(Show だとダイアログではなくなってしまいますが)は独自に同じような列挙体を作成するなどすれば、分岐することが可能だと思います。

0
引用返信 編集キー/
■7810 / inTopicNo.5)  Re[4]: フォームのコントロールについて
□投稿者/ すー 二等兵(3回)-(2006/10/27(Fri) 11:23:39)

分類:[VB.NET] 

ダッチさま

レスありがとうございます。
やっぱりイベントを起こすしかないですよね。
現行のソースをあまり直したくなくて(要望がありまして)、よい方法を探していました。
イベントの方向で調整してみます。ありがとうございました。

解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -