こんにちは、VB.NETで双六ゲームを作ってるのですが、フォームを何個か作って、例えば初めはプレイヤーの数を選ぶ、その次に“次”のボタンで次のプレイヤーの名前を入力するフォームにつなげたいのですが、うまくつながりません。あと、ゲーム盤の枡に”一回休み”と“もう一度サイコロを振る”を作りたいのですが、それにも頭を悩ませてます。金曜までに仕上げなくちゃいけないプログラムで苦戦しているのですが、どなたか私の完全未完成のプログラム見ていただけないでしょうか?よろしくお願いします。もしよろしければメールください。
P.S. ずっと前にデータの保存の質問をしてから家のPCが使えなくてこのサイトにアクセスできなかったのですが、その時の質問にお答えいただいた魔界の仮面弁士、Sayさんどうもありがとございました!参考になりました(^o^)遅くなってすみませんm(__)m
画面遷移については、主に二通りあります。
一つはメイン画面を中心に画面を表示する方法。
もう一つは完全ダイアログ形式で常に一つのダイアログだけを表示する方法です。
方法によって説明が変わってくるので、具体的にどうしたいのかを明記してください。
>ゲーム盤の枡に”一回休み”と“もう一度サイコロを振る”
フラグを使ってみるというのはどうでしょうか?
漠然としているので、これも具体的にどのように悩んでいるのかを明確にしていただくと、解答率も上がると思いますよ。
始めまして。
りかさん、クリリンさん、横からすみません。
画面遷移について調べていたら、こちらに辿り着きました。
常に一つのダイアログだけを表示する方法を教えていただけませんか?
例えば、メイン画面にボタン「A」があり、ボタン「A」を押すと、メイン画面が閉じ、画面「A」が開く
画面「A」には、ボタン「戻る」とボタン「B」があり、ボタン「戻る」を押すと、画面「A」が閉じ、メイン画面が開く。ボタン「B」を押すと、画面「A」が閉じ、画面「B」が開く。。。。。
と、言うようなイメージです。サンプルコードなどあると助かります。
勉強不足で申し訳ありませんが、よろしくお願いいたします。
メイン画面のコードは
Private Sub A_Click(...)
Dim frm As New FormA
Me.Visible = False
frm.ShowDialog(me)
Me.Visible = True
end sub
画面Aのコードは
private sub Back_Click(...)
Me.Close
end sub
private sub B_Click(...)
Dim frm As New FormA
Me.Visible = False
frm.ShowDialog(me)
Me.Visible = True
end sub
こんな感じでしょうか…
あくまで簡単に作ったので、ちゃんと画面遷移は考えたほうが良いですよ
あと、気をつけなければいけないのは、必ず、中心となるフォームが見えるにしろ、見えないにしろ、存在していなければならないという事です。
ミスタイプです。
private sub B_Click(...)
Dim frm As New FormA <-- ここは、FormBです。
Me.Visible = False
frm.ShowDialog(me)
Me.Visible = True
end sub
??
何が分からないのかが分かりませんね。
そこまでイメージ出来てるならその通りに書けば良いんじゃないですか?
フォームのShow、HideメソッドまたはVisibleプロパティなどを調べてみて下さい。
クリリンさん、nanashiさん、ありがとうございます。
確かに、nanashiさんのおっしゃる通りです。
ただ、ある事情から急遽VBに転向することになり、昨日初めてVBのコードを見た初心者でして。。
クリリンさん、とても参考になりました。ありがとうございます。
>>まささん
お仕事ですか?お気持ちはわかります・・
が、初心者という言葉を免罪符にしないでほしい。
ツイート | ![]() |