查看完整版本: msgbox問題求助
頁: [1]

a135bcde 發表於 2015-7-3 02:06 PM

msgbox問題求助

本帖最後由 a135bcde 於 2015-7-3 02:07 PM 編輯

小弟我想用msgbox寫成向下面那張圖的樣子但因為學校買的書也只是簡單帶過...沒什麼解釋msgbox...
可請問網上的各位大大這程式碼要怎麼寫??
若有人寫出來可以順便解釋一下嗎??謝謝各位幫忙
(返回第一層那個若不行也沒關西)



...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>

rr09192084 發表於 2015-7-3 07:45 PM

看看這個是不你要的
你問的這個問題是程式語言最基礎的部分
所以你說書本上是簡單帶過真令人不敢置信
        ' 以你這個圖所表示的流程會有2層的架構,3個問題
        ' 以下3個變數代表3個問題
        Dim msgTop As String
        Dim msgYes As String
        Dim msgNo As String
        ' 以下3個變數代表3個問題視窗的抬頭
        Dim titleTop As String
        Dim titleYes As String
        Dim titleNo As String
        ' 以下3個變數代表3個問題所選擇的答案
        Dim responseTop As MsgBoxResult
        Dim responseYes As MsgBoxResult
        Dim responseNo As MsgBoxResult
        ' 這是設定MsgBox的形式與按鈕
        Dim style As MsgBoxStyle
        ' 這是控制是否重複迴圈的布林值變數
        Dim isEnd As Boolean = True
        ' 設定MsgBox的樣式,請自行參閱MSDN https://msdn.microsoft.com/zh-tw/library/139z2azd(v=vs.90).aspx
        style = MsgBoxStyle.DefaultButton3 Or MsgBoxStyle.Critical Or MsgBoxStyle.YesNo

        While isEnd = True
            msgTop = "第一個問題?"
            titleTop = "第一個問題的抬頭"
            responseTop = MsgBox(msgTop, style, titleTop)
            If responseTop = MsgBoxResult.Yes Then   ' 第一層回答是
                msgYes = "第一層回答是之後的問題?"
                titleYes = "第一層回答是之後的抬頭"
                responseYes = MsgBox(msgYes, style, titleYes)
                If responseYes = MsgBoxResult.Yes Then   ' 第一層回答是之後第二層回答是
                    ' 這裡可以寫一些你要作處裡的程式
                    ' ............
                    ' ............
                    ' 然後決定要不要跳出迴圈
                    isEnd = False ' 改成False,所以會跳出迴圈
                Else  ' 第一層回答是之後第二層回答否
                    ' 這裡可以寫一些你要作處裡的程式
                    ' ............
                    ' ............
                    ' 然後決定要不要跳出迴圈
                    isEnd = False ' 改成False,所以會跳出迴圈
                End If
            Else
                ' 第一層回答否
                msgNo = "第一層回答否之後的問題?"
                titleNo = "第一層回答否之後的抬頭"
                responseNo = MsgBox(msgNo, style, titleNo)
                If responseYes = MsgBoxResult.Yes Then   ' 第一層回答否之後第二層回答是
                    ' 這裡可以寫一些你要作處裡的程式
                    ' ............
                    ' ............
                    ' 然後決定要不要跳出迴圈
                    isEnd = False ' 改成False,所以會跳出迴圈
                Else
                    ' 第一層回答否之後第二層回答否
                    ' 這裡可以寫一些你要作處裡的程式
                    ' ............
                    ' ............
                    ' 然後決定要不要跳出迴圈
                    isEnd = True ' 仍然維持True,所以會回到第一個問題
                End If
            End If
        End While
    End Sub...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

darkjack 發表於 2015-7-3 07:46 PM

大致上是這樣寫

只是這樣作法會無限迴圈

註解我不想寫.....
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim Mytest1
    Dim Mytest2
    Dim Mytest3

ori:

    Mytest1 = Nothing
    Mytest2 = Nothing
    Mytest3 = Nothing

    Mytest1 = MsgBox("內容1", MsgBoxStyle.YesNo, "標題1")

    If Mytest1 = MsgBoxResult.Yes Then
      Mytest1 = MsgBox("內容2", MsgBoxStyle.YesNo, "標題2")
      If Mytest1 = MsgBoxResult.Yes Then
        Mytest1 = MsgBox("內容3", MsgBoxStyle.YesNo, "標題3")
      Else
        Mytest2 = MsgBox("內容3 -2", MsgBoxStyle.YesNo, "標題3-2")
      End If
      GoTo ori

    Else
      Mytest2 = MsgBox("內容2 - 1", MsgBoxStyle.YesNo, "標題2 - 1")
      If Mytest2 = MsgBoxResult.Yes Then
        Mytest2 = MsgBox("內容4", MsgBoxStyle.YesNo, "標題4")
      Else
        Mytest3 = MsgBox("內容4 -2", MsgBoxStyle.YesNo, "標題4-2")
      End If
    End If

    GoTo ori

  End Sub

...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

rr09192084 發表於 2015-7-3 08:07 PM

rr09192084 發表於 2015-7-3 07:45 PM static/image/common/back.gif
看看這個是不你要的
你問的這個問題是程式語言最基礎的部分
所以你說書本上是簡單帶過真令人不敢置信 ...

哈哈!我要說的是,這個問題重點不在MsgBox怎麼用,應該是流程的控制部分。
它這3層的問題架構以及最外圍要用迴圈控制才是重點
MsgBox只是決定流程分歧走向的工具而已
你說是不是呢...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

a135bcde 發表於 2015-7-3 10:41 PM

感謝眾位大大的幫助~
另外我在問一下VB6.0中能用背景音樂嗎??<br><br><br><br><br><div></div>

e77 發表於 2015-7-29 12:07 PM

哇咧~~學校還在學VB6呀>< ,該跟老師說教新的啦~要不然就VB.NET,學那種超傳統的東西~...+_+....對未來幫助有限~如果要寫到ASP.NET(VB)又是不同觀念了~

darkjack 發表於 2015-7-29 06:27 PM

e77 發表於 2015-7-29 12:07 PM static/image/common/back.gif
哇咧~~學校還在學VB6呀>< ,該跟老師說教新的啦~要不然就VB.NET,學那種超傳統的東西~...+_+....對未來幫 ...

vb6 , MS 都已經擺明 不再支援 (好像從win 7 之後)

vb6 還會用到??? 一般來說應該還在XP 系統吧?

現在XP 系統也被 MS 捨棄了.....

vb6 以現在的情況來說...除了範例多之外....好像沒什麼實用的地方了....

尤其VB 系列出來的 都不能跨平台 (DLL 函式庫)......<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>
頁: [1]