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

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

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

Re[4]: CheckedListBoxを使用したフォームの読み込み


(過去ログ 125 を表示中)

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

■74647 / inTopicNo.1)  CheckedListBoxを使用したフォームの読み込み
  
□投稿者/ VBNET (1回)-(2015/01/19(Mon) 14:51:32)

分類:[.NET 全般] 

使用言語:VB.NET
CheckedListBoxで選択された順にフォームを出す方法に関してお教えください。

フォームを3枚作成(Form1,Form2,Form3)
Form1には、CheckedListBoxとButtonがあります。

CheckedListBoxには、
□Form2を表示
□Form3を表示
という2つの選択肢があります。

質問ですが、Form1にて2つの□に&#9745;がされ、Buttonが押されるときにForm1が閉じ、
Form2のみを出すにはどのようなコードを書けばいいのでしょうか。

宜しくお願い致します。

引用返信 編集キー/
■74648 / inTopicNo.2)  Re[1]: CheckedListBoxを使用したフォームの読み込み
□投稿者/ shu (667回)-(2015/01/19(Mon) 15:09:26)
No74647 (VBNET さん) に返信
>
> 質問ですが、Form1にて2つの□に&#9745;がされ、Buttonが押されるときにForm1が閉じ、
> Form2のみを出すにはどのようなコードを書けばいいのでしょうか。
>
このうち分かるのはどこで分からないのはどこ?


Form1を隠し、Form2のみを表示:
デフォルトのインスタンスを使った場合、
Form1.Hide() => 本当に閉じてしまってよければForm1.Close()
Form2.Show()

引用返信 編集キー/
■74649 / inTopicNo.3)  Re[2]: CheckedListBoxを使用したフォームの読み込み
□投稿者/ VBNET (2回)-(2015/01/19(Mon) 15:27:47)
shu様

ご返信ありがとうございます。
言葉足らずで申し訳ありません。

現状、Form1を閉じるのはできます。
今回の質問では、Form1のボタンでForm2とForm3を順に表示させたいのですが、
その方法がわからず、

段階としてはForm1が閉じた後、Form2が表示され、Form2の×印で終了させたときにForm3がでるようなコードを書きたいと考えています。
Form1が閉じた時にForm2,3が共に同時に出るのではなく、チェックリストの項目順に表示されるようにするにはどのようなコードになるでしょうか。

CheckBoxであれば、Form1からForm2は

If CheckBox = True Then
    My.Application.ApplicationContext.MainForm = Form2
Me.Close()
Form2.Show()
End If

となりますが、リストボックスの場合についてお教えください。宜しくお願い致します。




No74648 (shu さん) に返信
> ■No74647 (VBNET さん) に返信
>>
>>質問ですが、Form1にて2つの□に&#9745;がされ、Buttonが押されるときにForm1が閉じ、
>>Form2のみを出すにはどのようなコードを書けばいいのでしょうか。
>>
> このうち分かるのはどこで分からないのはどこ?
>
>
> Form1を隠し、Form2のみを表示:
> デフォルトのインスタンスを使った場合、
> Form1.Hide() => 本当に閉じてしまってよければForm1.Close()
> Form2.Show()
>
引用返信 編集キー/
■74650 / inTopicNo.4)  Re[3]: CheckedListBoxを使用したフォームの読み込み
□投稿者/ shu (668回)-(2015/01/19(Mon) 15:42:59)
No74649 (VBNET さん) に返信

Form1を閉じる => ×、
  ※Form1上の情報を使って後の処理が流れるので閉じてしまうと情報が喪失してしまいます。
   Form1ではなく、Form2からもForm3からも参照できる場所にコピーするなら可能

CheckedListBoxにはCheckedIndices(チェックの入っているアイテムのインデックスコレクション)とか
CheckedItems(チェックの入っているアイテムのコレクション)などがあるのでこれらの中身を参照して
リストを作ります。このリストを順番に参照するためのインデックス用変数idxを用意します。
各Formを開くときにFormClosingかFormClosedイベントにAddHandlerにより処理を割り当てるようにします。
この処理では閉じたとき次のFormを開くようにします。この処理でidxを+1すれば次々と開いていくことが可能になります。
引用返信 編集キー/
■74651 / inTopicNo.5)  Re[4]: CheckedListBoxを使用したフォームの読み込み
□投稿者/ VBNET (3回)-(2015/01/19(Mon) 17:14:33)
shuさま

Form1を閉じてしまってはいけないんですね。
ありがとうございます。納得しました。
それでは、画面上から表示を消す形とし、
Me.Hide()でよろしいでしょうか。

CheckedListBoxでは漠然としたコードのイメージは出来ましたが、
お教えいただいた文面について完全に理解できておりませんので、一度調べてコードを書いてみます。
時間がかかるかと思いますが、改めて質問致しますので、今後とも宜しくお願い致します。



No74650 (shu さん) に返信
> ■No74649 (VBNET さん) に返信
>
> Form1を閉じる => ×、
>   ※Form1上の情報を使って後の処理が流れるので閉じてしまうと情報が喪失してしまいます。
>    Form1ではなく、Form2からもForm3からも参照できる場所にコピーするなら可能
>
> CheckedListBoxにはCheckedIndices(チェックの入っているアイテムのインデックスコレクション)とか
> CheckedItems(チェックの入っているアイテムのコレクション)などがあるのでこれらの中身を参照して
> リストを作ります。このリストを順番に参照するためのインデックス用変数idxを用意します。
> 各Formを開くときにFormClosingかFormClosedイベントにAddHandlerにより処理を割り当てるようにします。
> この処理では閉じたとき次のFormを開くようにします。この処理でidxを+1すれば次々と開いていくことが可能になります。
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -