tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルTabPage移動制限について
記事No6453
投稿日: 2007/10/19(Fri) 18:27
投稿者はじめ
TabPageの移動に制限をかける方法として、以下のように実装しています。
(1)TabPage移動を制限する為のフラグを用意
(2)button1,2を2つ用意し、button1のクリックイベントでフラグをTrue、
   butto2のクリックイベントでフラグをFalseに変更
(3)TabPageのValidatingイベントでe.Cancelを(1)のフラグの値に変更

上記のみであれば、期待通りbutton1をクリックするとTabPage移動が出来なくなり
button2をクリックすると制限が解除されTabPage移動が出来るようになります。

ただし、buttonクリックイベント内で、自分をDisable、相手をEnableに変更する
処理を加えると、TabPage移動の制限は正常に働くのですが、制限解除後に、一度
Tabをクリックしないと、TabPage内のコントロールにアクセス出来ないという
現象が発生します。

なぜTabPage内のコントロールにアクセスできなくなるのか調べているのですが
原因が分かりません。
何が原因か分かりますでしょうか。

[ツリー表示へ]
タイトルRe: TabPage移動制限について
記事No6460
投稿日: 2007/10/22(Mon) 07:17
投稿者y4yama
> ただし、buttonクリックイベント内で、自分をDisable、相手をEnableに変更する
> 処理を加えると、TabPage移動の制限は正常に働くのですが、制限解除後に、一度
> Tabをクリックしないと、TabPage内のコントロールにアクセス出来ないという
> 現象が発生します。

こんちは!
現象を再現するための、最低限のコードを掲載してみたら、いかがでしょうか
私は、「自分を」「相手を」が何を示すのかが曖昧と感じました
最低限のコードにしてみたら、現象が発生しなくて、実は、別の
原因だった・・・というのは、よくあることですヨ

[ツリー表示へ]
タイトルRe^2: TabPage移動制限について
記事No6462
投稿日: 2007/10/23(Tue) 10:26
投稿者はじめ
> > ただし、buttonクリックイベント内で、自分をDisable、相手をEnableに変更する
> > 処理を加えると、TabPage移動の制限は正常に働くのですが、制限解除後に、一度
> > Tabをクリックしないと、TabPage内のコントロールにアクセス出来ないという
> > 現象が発生します。
>
> こんちは!
> 現象を再現するための、最低限のコードを掲載してみたら、いかがでしょうか
> 私は、「自分を」「相手を」が何を示すのかが曖昧と感じました
> 最低限のコードにしてみたら、現象が発生しなくて、実は、別の
> 原因だった・・・というのは、よくあることですヨ

アドバイスありがとうございます。
最低限のコードを後ほどアップしたいと思います。
ちなみに、「自分を」「相手を」というのは、制限開始・制限解除のButtonを
それぞれ用意し、制限開始したら、解除のみクリック可で解除したら制限開始のみ
クリック可というように切り替えることを指していました。

[ツリー表示へ]
タイトルRe: TabPage移動制限について
記事No6470
投稿日: 2007/10/24(Wed) 14:26
投稿者y4yama
> (3)TabPageのValidatingイベントでe.Cancelを(1)のフラグの値に変更
> 上記のみであれば、期待通りbutton1をクリックするとTabPage移動が出来なくなり

とのことですが・・・当方では、TabPage移動が出来てしまいました。VB2005Express
TabControl1.Selecting のイベントハンドラで
e.Cancel = flag としてみたら、good となりましたヨ

[ツリー表示へ]
タイトルRe^2: TabPage移動制限について
記事No6472
投稿日: 2007/10/26(Fri) 11:13
投稿者はじめ
返信ありがとうございました。
私も別環境で同じ(と思っている)コードを記述して
試した場合は、期待通りの動作をしました。
現象が起きた環境での再現が暫く出来ないのと、
その時生成したコードを参照できない状態ですので
また改めて質問をおこないたいと思います。

[ツリー表示へ]